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
而且它应该工作得很好;-)
securedomehmmmm我不这么认为,如果你导航到你的sitelib目录,然后是soaplib.core并查看service.py文件,decorator方法被明确定义为
soap
,我最后使用了soaplib下载提供的示例,它可以在没有挂断的情况下工作。我想我有版本问题=/
from soaplib.core.service import soap