Zeep ValueError:给\u soapheaders的值无效

2024-06-16 10:57:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过Zeep打个肥皂电话。WSDL不包含标头定义,但SOAP服务器需要以下标头:

<soapenv:Header>
  <ns2:UsernameToken xmlns:ns2="http://siebel.com/webservices">ORNODINTFC_WW@ORACLE.COM</ns2:UsernameToken>
</soapenv:Header>

根据zeep文件,我是这样做的:

^{pr2}$

但是,对于create_消息,我收到以下错误

Traceback (most recent call last):
  File "<pyshell#119>", line 1, in <module>
    xml_msg = client.create_message(client.service, 'process', _soapheaders=[header_val],payload=msg, Mode='ODRFCQUERY', UserName='ORNODINTFC_WW@ORACLE.COM', Password='0r10nTkn')
  File "C:\Users\shubgang\AppData\Roaming\Python\Python36\site-packages\zeep\client.py", line 131, in create_message
operation_name, args, kwargs, client=self)
  File "C:\Users\shubgang\AppData\Roaming\Python\Python36\site-packages\zeep\wsdl\bindings\soap.py", line 68, in _create
serialized = operation_obj.create(*args, **kwargs)
  File "C:\Users\shubgang\AppData\Roaming\Python\Python36\site-packages\zeep\wsdl\definitions.py", line 200, in create
return self.input.serialize(*args, **kwargs)
  File "C:\Users\shubgang\AppData\Roaming\Python\Python36\site-packages\zeep\wsdl\messages\soap.py", line 59, in serialize
header = self._serialize_header(headers_value, nsmap)
  File "C:\Users\shubgang\AppData\Roaming\Python\Python36\site-packages\zeep\wsdl\messages\soap.py", line 327, in _serialize_header
raise ValueError("Invalid value given to _soapheaders")
ValueError: Invalid value given to _soapheaders

请建议如何解决这个问题


Tags: inpyclientpackagescreatelinesiteroaming