1
0
Fork 0
gnuviechadmin-historic/backend/src/SOAPServer.py

33 lines
933 B
Python
Raw Normal View History

#!/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)