如何从运行Spyne应用程序web.py?

2024-06-01 01:51:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个工作网页.py应用程序,以及一个正在工作的Spyne应用程序。我想网页.py当匹配某个url时,将请求路由到spyne应用程序。在

我试过用包装纸,但没有成功。在

在我的pyne.py公司名称:

import logging
logging.basicConfig(level=logging.DEBUG)
from spyne.application import Application
from spyne.decorator import srpc
from spyne.service import ServiceBase
from spyne.model.primitive import Integer
from spyne.model.primitive import Unicode
from spyne.model.complex import Iterable
from spyne.protocol.soap import Soap11

class HelloWorldService(ServiceBase):
    @srpc(Unicode, Integer, _returns=Iterable(Unicode))
    def say_hello(name, times):
        for i in range(times):
            yield 'Hello, %s' % name

application = Application([HelloWorldService],
                      tns='my.custom.ns',
                      in_protocol=Soap11(validator='lxml'),
                      out_protocol=Soap11())

在我的网站.py公司名称:

^{pr2}$

Tags: frompyimport名称应用程序网页modelapplication
1条回答
网友
1楼 · 发布于 2024-06-01 01:51:24

你需要实现一个网页.py或者找到一种方法从网页.py. 你链接到的文档非常古老(对我来说似乎是几十年前的事了)。在

我没有经验网页.py完全。但基于网页.py作为文件的一部分,这可能会起作用:

def start_response(status, headers):
    web.ctx.status = status
    for header, value in headers:
        web.header(header, value)


class WebPyTransport(WsgiApplication):
    """Class for web.py """
    def GET(self):
        response = self(web.ctx.environ, start_response)
        return render("\n".join(response))

    def POST(self):
        response = self(web.ctx.environ, start_response)
        return render("\n".join(response))

这样,您可以使用:

^{pr2}$

因此urls变成:

urls = (
    '/', 'index',
    '/myspyne/(.*)', myspyne.webpy_app,
)

我希望这有帮助。在

相关问题 更多 >