- base for WSDL-Webservice
git-svn-id: file:///home/www/usr01/svn/gnuviechadmin/gnuviech.info/gnuviechadmin/trunk@178 a67ec6bc-e5d5-0310-a910-815c51eb3124
This commit is contained in:
parent
9692371a57
commit
650c4928c3
6 changed files with 700 additions and 4 deletions
32
backend/src/SOAPServer.py
Normal file
32
backend/src/SOAPServer.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/python
|
||||
#
|
||||
# (c) 2006 Jan Dittberner <jan@dittberner.info>
|
||||
# $Id$
|
||||
#
|
||||
|
||||
from ZSI.ServiceContainer import ServiceContainer
|
||||
from ZSI.dispatch import SOAPRequestHandler
|
||||
from gnuviechadminCommon.gnuviechadmin_services_server import *
|
||||
|
||||
service = gnuviechadmin()
|
||||
|
||||
class mySOAPRequestHandler(SOAPRequestHandler):
|
||||
'''
|
||||
Own SOAP request handler implementation.
|
||||
'''
|
||||
def do_GET(self):
|
||||
'''
|
||||
Process the HTTP GET method, delivers service's WSDL.
|
||||
'''
|
||||
self.send_xml(service._wsdl)
|
||||
|
||||
def AsServer(port=80, services=(), RequestHandlerClass=SOAPRequestHandler):
|
||||
address = ('', port)
|
||||
sc = ServiceContainer(address, RequestHandlerClass=RequestHandlerClass)
|
||||
for service in services:
|
||||
path = service.getPost()
|
||||
sc.setNode(service, path)
|
||||
sc.serve_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
AsServer(port=8080, services=[service], RequestHandlerClass=mySOAPRequestHandler)
|
Loading…
Add table
Add a link
Reference in a new issue