33 lines
933 B
Python
33 lines
933 B
Python
|
#!/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)
|