2016-10-10 5 views
0

Я попытался запустить spyne example. Этот же пример работает в Linux, но в Windows появляется следующая ошибка:Ошибка при выполнении примера spyne на Windows

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