мыльница с mod_wsgi / cherrypy - PullRequest
1 голос
/ 24 марта 2009

Я следовал инструкциям по настройке Apache с mod_wsgi для взаимодействия с cherrypy и создания сайта под его управлением. Это мой "myapp.wsgi", и открытие http://localhost/ прекрасно работает. Открытие http://localhost/ape/ фактически возвращает текст вместо мыльного ответа, а http://localhost/ape/service.wsdl возвращает код ошибки HTTP 500. Что я делаю не так, когда запускаю такой простой сервис 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)

Ответы [ 2 ]

1 голос
/ 27 марта 2009

Эли прав; недостаточно просто создать экземпляр Application. Вы должны смонтировать его на cherrypy.tree, что вам поможет quickstart ().

1 голос
/ 24 марта 2009

Я только что проверил это, заменив последнюю строку вашего файла на

cherrypy.quickstart(Root(), "/")

и у меня все заработало. Я предлагаю попробовать это и посмотреть, работает ли это для вас; если это произойдет, вы поймете, что это проблема, связанная с его запуском под Apache / mod_wsgi, а не внутренняя проблема с вашим кодом.

...