2016-10-10 60 views
0

我试着运行一个spyne example。同样的例子在Linux上运行,但在Windows上出现以下错误 -在Windows上运行spyne示例时出错

File "helloWorld.py", line 14, in <module> 
    class HelloWorldService(ServiceBase): 
    File "helloWorld.py", line 15, in HelloWorldService 
    @srpc(Unicode, Integer, _returns=Iterable(Unicode)) 
NameError: name 'srpc' is not defined 

有没有人有解决方案?

回答

0

这个例子是错误的。这是正确的版本:

import logging 
logging.basicConfig(level=logging.DEBUG) 

from spyne import Application, rpc, ServiceBase, \ 
    Integer, Unicode 

from spyne import Iterable 

from spyne.protocol.http import HttpRpc 
from spyne.protocol.json import JsonDocument 

from spyne.server.wsgi import WsgiApplication 


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


application = Application([HelloWorldService], 
    tns='spyne.examples.hello', 
    in_protocol=HttpRpc(validator='soft'), 
    out_protocol=JsonDocument() 
) 


if __name__ == '__main__': 
    # You can use any Wsgi server. Here, we chose 
    # Python's built-in wsgi server but you're not 
    # supposed to use it in production. 
    from wsgiref.simple_server import make_server 
    wsgi_app = WsgiApplication(application) 
    server = make_server('0.0.0.0', 8000, wsgi_app) 
    server.serve_forever() 

我还修复了代码http://spyne.io。对此感到抱歉,并非常感谢让我注意到这个问题。

+0

谢谢。这工作。 – Ashutosh

相关问题