mod_wsgi/cherrypy를 가진 soaplib
문제
나는 mod_wsgi로 Apache를 설정하여 Cherrypy를 인터페이스하고 사이트를 실행하기위한 튜토리얼을 따랐습니다. 이것은 나의 "myapp.wsgi"이며 개방입니다 http : // localhost/ 잘 작동합니다. 열리는 http : // localhost/ape/ 실제로 비누 응답 대신 텍스트를 반환하고 http : //localhost/ape/service.wsdl 500 HTTP 오류 코드를 반환합니다. 그렇게 간단한 비누 서비스를 실행하는 데 무엇이 잘못되고 있습니까? 유효한 WSDL을 반환하려면 어떻게해야합니까? 내 코드는 아래에 있습니다
건배
닉
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)
해결책
방금 파일의 마지막 줄을 대체하여 직접 테스트했습니다.
cherrypy.quickstart(Root(), "/")
그리고 그것은 나를 위해 잘 작동했습니다. 나는 이것을 시도하고 그것이 당신에게 효과가 있는지 보는 것을 제안합니다. 그렇다면 Apache/Mod_wsgi에서 실행하는 것과 관련된 문제이며 코드의 고유 한 문제가 아니라는 것을 알 수 있습니다.
다른 팁
엘리는 옳다. 응용 프로그램 인스턴스를 만드는 것만으로는 충분하지 않습니다. QuickStart ()가 당신을 위해하는 cherrypy.tree에 장착해야합니다.
제휴하지 않습니다 StackOverflow