Question

J'ai suivi les tutoriels pour configurer Apache avec mod_wsgi à l'interface cherrypy et faire un fonctionnement du site de celui-ci. Ceci est mon "myapp.wsgi", et l'ouverture http: // localhost fonctionne / grande. Ouverture http: // localhost / singe / retourne effectivement le texte au lieu d'une réponse de savon et http: //localhost/ape/service.wsdl renvoie un code d'erreur HTTP 500. Qu'est-ce que je fais mal à obtenir un tel service simple SOAP à exécuter? Comment puis-je obtenir pour revenir WSDL valide? Mon code suit ci-dessous

Vive

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)
Était-ce utile?

La solution

Je viens de tester moi-même en remplaçant la dernière ligne de votre fichier avec

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

et cela a fonctionné très bien pour moi. Je suggère d'essayer cela et voir si cela fonctionne pour vous; si elle fait alors vous saurez que c'est une question relative à l'exécution sous Apache / mod_wsgi et non un problème inhérent à votre code.

Autres conseils

Eli est juste; il ne suffit pas de simplement faire une instance d'application. Vous devez monter sur cherrypy.tree, qui QuickStart () fait pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top