首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spyne创建多个服务

使用Spyne创建多个服务
EN

Stack Overflow用户
提问于 2013-11-26 12:27:56
回答 1查看 1.6K关注 0票数 2

我正在尝试使用Spyne创建一个SOAP服务。基于简单的Hello示例,我想创建两个不同的服务:

代码语言:javascript
复制
from spyne.application import Application
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication

from spyne.decorator import rpc
from spyne.service import ServiceBase
from spyne.model.complex import Iterable
from spyne.model.primitive import Unicode

class HelloWorldService(ServiceBase):
    @rpc(Unicode, _returns=Iterable(Unicode))
    def say_hello(ctx, name):
        return [u'Hello, %s' % name]

class HelloWorldService1(ServiceBase):
    @rpc(Unicode, _returns=Iterable(Unicode))
    def say_hello1(ctx, name):
        return [u'Hello, %s' % name]

if __name__=='__main__':
    from wsgiref.simple_server import make_server

    application = Application([HelloWorldService, HelloWorldService1],
                'spyne.examples.hello.soap',
                in_protocol=Soap11(validator='lxml'),
                out_protocol=Soap11()
            )
    wsgi_application = WsgiApplication(application)

    server = make_server('127.0.0.1', 8000, wsgi_application)
    server.serve_forever()

但是,当我尝试使用suds使用这些服务时:

代码语言:javascript
复制
from suds.client import Client
client = Client('http://localhost:8000/?wsdl')
print client

只有一种服务可供使用:

代码语言:javascript
复制
Service ( HelloWorldService ) tns="spyne.examples.hello.soap"
   Prefixes (1)
      ns0 = "spyne.examples.hello.soap"
   Ports (1):
      (Application)
         Methods (1):
            say_hello(xs:string name, xs:integer times, )
         Types (3):
            say_hello
            say_helloResponse
            stringArray

所以,我想知道我是否错过了什么。此外,如果可能的话,有人能告诉我如何在Spyne中创建多个服务,每个服务都有自己的wsdl文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 18:32:35

您的代码是正确的,将同时显示say_hello和say_hello1方法。也许您应该在清除客户端的wsdl缓存之后再试一次。

您可以通过在浏览器中访问http://localhost:8000/?wsdl来查看实际的wsdl文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20217104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档