Python soaplib hello world程序的一个问题

Python soaplib hello world程序的一个问题,python,soap,soaplib,Python,Soap,Soaplib,我正在尝试让此服务器运行,但不断收到错误: 服务器: import soaplib from soaplib.core.service import rpc, DefinitionBase from soaplib.core.model.primitive import String, Integer from soaplib.core.server import wsgi from soaplib.core.model.clazz import Array class HelloWorldS

我正在尝试让此服务器运行,但不断收到错误:

服务器:

import soaplib
from soaplib.core.service import rpc, DefinitionBase
from soaplib.core.model.primitive import String, Integer
from soaplib.core.server import wsgi
from soaplib.core.model.clazz import Array

class HelloWorldService(DefinitionBase):
    @soap(String,Integer,_returns=Array(String))
    def say_hello(self,name,times):
        results = []
        for i in range(0,times):
            results.append('Hello, %s'%name)
        return results

if __name__=='__main__':
    try:
        from wsgiref.simple_server import make_server
        soap_application = soaplib.core.Application([HelloWorldService], 'tns')
        wsgi_application = wsgi.Application(soap_application)
        server = make_server('localhost', 7789, wsgi_application)
        server.serve_forever()
    except ImportError:
        print "Error: example server code requires Python >= 2.5"
错误:

Traceback (most recent call last):
  File "C:/Users/User/Desktop/wsdlHelloWorld.py", line 8, in <module>
    class HelloWorldService(DefinitionBase):
  File "C:/Users/User/Desktop/wsdlHelloWorld.py", line 9, in HelloWorldService
    @soap(String,Integer,_returns=Array(String))
NameError: name 'soap' is not defined
然而,现在当我尝试使用他们提供的suds客户端示例时,我得到了这个错误

  File "C:\Python27\lib\urllib2.py", line 1174, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno 10061] No connection could be made because the target machine actively refused it>
文件“C:\Python27\lib\urllib2.py”,第1174行,打开 引发URL错误(err) URL错误: 更新

nmap扫描显示端口7789上没有运行任何服务,这将导致urllib2抛出10061错误。

是否应该:
@soapmethod(String,Integer,_returns=Array(String))

将以下行添加到导入中

   from soaplib.core.service import soap
而且它应该工作得很好;-)


securedome

hmmmm我不这么认为,如果你导航到你的sitelib目录,然后是soaplib.core并查看service.py文件,decorator方法被明确定义为
soap
,我最后使用了soaplib下载提供的示例,它可以在没有挂断的情况下工作。我想我有版本问题=/
   from soaplib.core.service import soap