SUDS-python连接

SUDS-python连接,python,suds,Python,Suds,我正试图用python和SUD为Web服务构建一个客户端。我用了教程 在此网站上:。它使用我自己编写的Web服务和WSDL,但不使用我得到的WSDL文件。wsdl文件在soapUI中工作,我可以发送请求并获得答案。所以问题是,我认为,suds是如何解析wsdl文件的。我发现以下错误: urllib2.URLError: <urlopen error [Errno -2] Name or service not known> urllib2.URLError: 有没有办法解决这个问

我正试图用python和SUD为Web服务构建一个客户端。我用了教程 在此网站上:。它使用我自己编写的Web服务和WSDL,但不使用我得到的WSDL文件。wsdl文件在soapUI中工作,我可以发送请求并获得答案。所以问题是,我认为,suds是如何解析wsdl文件的。我发现以下错误:

urllib2.URLError: <urlopen error [Errno -2] Name or service not known>
urllib2.URLError:

有没有办法解决这个问题?如果您需要更多信息,请询问。谢谢大家!

您给我们的错误似乎暗示您用于访问WSDL的URL不正确。你能再给我们看一点你的代码吗?例如,客户端安装和WSDL的url。这可能会让其他人真正帮助你


Olly

您给我们的错误似乎暗示您用于访问WSDL的URL不正确。你能再给我们看一点你的代码吗?例如,客户端安装和WSDL的url。这可能会让其他人真正帮助你

Olly

#SUDS主要是为Python 2.6/7(轻量级SOAP客户端)构建的
#SUDS不能与其他版本一起正常工作,绝对不支持3.x
#使用Python 2.7.12测试代码(我正在使用)
从suds.client导入客户端
从suds.sax.text导入原始
#使用与“?wsdl”相同格式的测试URL,在SOAP-UI中检查一次,下面是dummy
#确保在下面的函数“client.service.MethodName”中使用相同的方法名
url='1〕http://localhost:8080/your/path/MethodName?wsdl'
#使用您的请求XML,下面是虚拟的,格式XML=Raw('XML\u text'))
xml=Raw(“
#SUDS主要是为Python2.6/7(轻量级SOAP客户端)构建的
#SUDS不能与其他版本一起正常工作,绝对不支持3.x
#使用Python 2.7.12测试代码(我正在使用)
从suds.client导入客户端
从suds.sax.text导入原始
#使用与“?wsdl”相同格式的测试URL,在SOAP-UI中检查一次,下面是dummy
#确保在下面的函数“client.service.MethodName”中使用相同的方法名
url='1〕http://localhost:8080/your/path/MethodName?wsdl'
#使用您的请求XML,下面是虚拟的,格式XML=Raw('XML\u text'))
xml=Raw('
# SUDS is primarily built for Python 2.6/7 (Lightweight SOAP client)
# SUDS does not work properly with other version, absolutely no support for 3.x
# Test your code with Python 2.7.12 (I am using)

from suds.client import Client
from suds.sax.text import Raw

# Use your tested URL same format with '?wsdl', Check once in SOAP-UI, below is dummy
# Make sure to use same Method name in below function 'client.service.MethodName'
url = 'http://localhost:8080/your/path/MethodName?wsdl'

#Use your Request XML, below is dummy, format xml=Raw('xml_text')
xml = Raw('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:diag=" </soapenv:Body></soapenv:Envelope>') 

def GetResCode(url, xml):
    client = Client(url)
    xml_response = (client.service.MethodName(__inject={'msg':xml}))
    return xml_response

print(GetResCode(url,xml))