Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有肥皂水的SOAP引发TransportError,代码为500_Python_Soap_Suds - Fatal编程技术网

Python 带有肥皂水的SOAP引发TransportError,代码为500

Python 带有肥皂水的SOAP引发TransportError,代码为500,python,soap,suds,Python,Soap,Suds,我试图使用suds包连接到web服务,但我得到了TransportError,我做错了什么 from suds.client import Client wsdl_url = 'https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL' client = Client(wsdl_url) 这就是我得到的错误: Traceback (most recent call last): File "C:\Python34\lib

我试图使用suds包连接到web服务,但我得到了TransportError,我做错了什么

from suds.client import Client
wsdl_url = 'https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL'
client = Client(wsdl_url)
这就是我得到的错误:

    Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\suds\transport\http.py", line 67, in open
    return self.u2open(u2request)
  File "C:\Python34\lib\site-packages\suds\transport\http.py", line 132, in u2open
    return url.open(u2request, timeout=tm)
  File "C:\Python34\lib\urllib\request.py", line 469, in open
    response = meth(req, response)
  File "C:\Python34\lib\urllib\request.py", line 579, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python34\lib\urllib\request.py", line 507, in error
    return self._call_chain(*args)
  File "C:\Python34\lib\urllib\request.py", line 441, in _call_chain
    result = func(*args)
  File "C:\Python34\lib\urllib\request.py", line 587, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 500: Internal Server Error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\site-packages\suds\client.py", line 115, in __init__
    self.wsdl = reader.open(url)
  File "C:\Python34\lib\site-packages\suds\reader.py", line 150, in open
    d = self.fn(url, self.options)
  File "C:\Python34\lib\site-packages\suds\wsdl.py", line 136, in __init__
    d = reader.open(url)
  File "C:\Python34\lib\site-packages\suds\reader.py", line 74, in open
    d = self.download(url)
  File "C:\Python34\lib\site-packages\suds\reader.py", line 92, in download
    fp = self.options.transport.open(Request(url))
  File "C:\Python34\lib\site-packages\suds\transport\https.py", line 62, in open
    return HttpTransport.open(self, request)
  File "C:\Python34\lib\site-packages\suds\transport\http.py", line 69, in open
    raise TransportError(str(e), e.code, e.fp)
suds.transport.TransportError: HTTP Error 500: Internal Server Error
回溯(最近一次呼叫最后一次):
打开文件“C:\Python34\lib\site packages\suds\transport\http.py”,第67行
返回self.u2open(u2request)
文件“C:\Python34\lib\site packages\suds\transport\http.py”,第132行,在u2open中
返回url.open(u2request,timeout=tm)
文件“C:\Python34\lib\urllib\request.py”,第469行,打开
响应=方法(请求,响应)
文件“C:\Python34\lib\urllib\request.py”,第579行,在http\U响应中
“http”、请求、响应、代码、消息、hdrs)
文件“C:\Python34\lib\urllib\request.py”第507行出错
返回自我。调用链(*args)
文件“C:\Python34\lib\urllib\request.py”,第441行,在调用链中
结果=func(*args)
文件“C:\Python34\lib\urllib\request.py”,第587行,默认为http\u error\u
raise HTTPError(请求完整的url、代码、消息、hdrs、fp)
urllib.error.HTTPError:HTTP错误500:内部服务器错误
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python34\lib\site packages\suds\client.py”,第115行,在\uuu init中__
self.wsdl=reader.open(url)
文件“C:\Python34\lib\site packages\suds\reader.py”,第150行,打开
d=self.fn(url,self.options)
文件“C:\Python34\lib\site packages\suds\wsdl.py”,第136行,在\uuu init中__
d=读卡器。打开(url)
打开文件“C:\Python34\lib\site packages\suds\reader.py”,第74行
d=自我下载(url)
下载文件“C:\Python34\lib\site packages\suds\reader.py”,第92行
fp=self.options.transport.open(请求(url))
打开文件“C:\Python34\lib\site packages\suds\transport\https.py”,第62行
返回HttpTransport.open(self,request)
打开文件“C:\Python34\lib\site packages\suds\transport\http.py”,第69行
raise传输错误(str(e)、e.code、e.fp)
suds.transport.TransportError:HTTP错误500:内部服务器错误

我遗漏了什么吗?

我也遇到了同样的问题,通过使用库for soup协议解决了这个问题。 看来suds库的开发已经停止了。所以你应该换成这个选择

安装zeep后,您可以用下面的代码替换代码,然后一切都完成了

from zeep import Client
wsdl_url = 'https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL'
client = Client(wsdl_url)

虽然这在理论上可以回答这个问题,但在这里包括答案的基本部分,并提供链接供参考。有关如何编写更好的“基于链接”答案的说明,请参阅。谢谢