我在net上检查了soaplib中的python,得到了一个示例
import soaplib
from soaplib.core.service import rpc, DefinitionBase
from soaplib.core.model.primitive import String, Integer
from soaplib.core.server import wsgi
from soaplib.core.model.clazz import Array
class HelloWorldService(DefinitionBase):
@soap(String,Integer,_returns=Array(String))
def say_hello(self,name,times):
results = []
for i in range(0,times):
results.append('Hello, %s'%name)
return results
if __name__=='__main__':
try:
from wsgiref.simple_server import make_server
soap_application = soaplib.core.Application([HelloWorldService], 'tns')
wsgi_application = wsgi.Application(soap_application)
server = make_server('localhost', 7789, wsgi_application)
server.serve_forever()
except ImportError:
print "Error: example server code requires Python >= 2.5"
这个例子很有效。但我想用apache中的mod_wsgi运行这个。我查了一下网,所有的都是django,cherrypy或者pylone。是否可以在不使用任何python web框架的情况下运行此示例?在apache中的mod_wsgi下运行这个示例需要遵循哪些步骤。我想在unix中运行这个。
最佳答案
与wiki中的所有其他“集成到”文档一样,除了application = wsgi.Application(soap_application)
。