1
0
Fork 0
gnuviechadmin-historic/backend/src/SOAPServer.py
Jan Dittberner 650c4928c3 - base for WSDL-Webservice
git-svn-id: file:///home/www/usr01/svn/gnuviechadmin/gnuviech.info/gnuviechadmin/trunk@178 a67ec6bc-e5d5-0310-a910-815c51eb3124
2006-03-07 22:26:55 +00:00

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)