python-zeep
python-zeep copied to clipboard
Unable to create message after passing dict
No idea what is happening, I passed in the dict just as the wsdl.dump() specified, keeping getting the typeError
The version of zeep : v4.0.0 The WSDL you are using: https://mitre-cpt.costpointenterprise.com/cpweb/webservices/cpwwsgenericmoduleWS?wsdl An example script (please see below)
session = Session()
session.verify = False
transport = Transport(session=session)
settings = Settings(xml_huge_tree=True)
try:
client = Client(wsdlurl, settings=settings, transport=transport)
payload = {'systemName': '1', 'companyId': '1', 'document': '1'}
# payload with name argument per the zeep dump
# node = client.create_message(client.service, 'cpwwsgenericimport', systemName='1', companyId='a', document='o')
# payload with dict
node = client.create_message(client.service, 'cpwwsgenericimport', **payload)
tree = let.ElementTree(node)
tree.write('env.xml', pretty_print=True)
Got error on **binding_options
Traceback (most recent call last): File "C:/Users/xxx/PycharmProjects/unison-emp-load/main.py", line 117, in
main() File "C:/Users/xxx/PycharmProjects/unison-emp-load/main.py", line 111, in main node = client.create_message(client.service, 'cpwwsgenericimport', systemName='1', companyId='l', document='o') File "C:\Users\xxx\PycharmProjects\unison-emp-load\venv\lib\site-packages\zeep\client.py", line 92, in service service_name=self._default_service_name, port_name=self._default_port_name File "C:\Users\xxx\PycharmProjects\unison-emp-load\venv\lib\site-packages\zeep\client.py", line 114, in bind return ServiceProxy(self, port.binding, **port.binding_options) TypeError: type object argument after ** must be a mapping, not NoneType