我已经按照教程使用mod_wsgi设置Apache来连接cherrypy并使网站运行它。这是我的“myapp.wsgi”,开放http://localhost/效果很好。打开http://localhost/ape/实际上返回文本而不是soap响应,http://localhost/ape/service.wsdl返回500 HTTP错误代码。在运行如此简单的SOAP服务时,我做错了什么?如何让它返回有效的WSDL?我的代码如下所示
干杯
的Nik
import atexit, threading, cherrypy,sys
from soaplib.wsgi_soap import SimpleWSGISoapApp
from soaplib.service import soapmethod
from soaplib.serializers.primitive import String, Integer, Array
sys.stdout = sys.stderr
cherrypy.config.update({'environment': 'embedded'})
class Root(object):
def index(self):
return 'Hello World!'
index.exposed = True
@soapmethod(_returns=String)
def ape(self):
return 'Ape!!'
ape.exposed = True
application = cherrypy.Application(Root(), None)
答案 0 :(得分:1)
我只是通过用
替换文件的最后一行来自行测试cherrypy.quickstart(Root(), "/")
它对我来说效果很好。我建议尝试这个,看看它是否适合你;如果确实如此,那么你就会知道这是一个与在Apache / mod_wsgi下运行它有关的问题,而不是你代码的固有问题。
答案 1 :(得分:1)