I'm trying to communicate with the Zuora SOAP API. I'm following their documentation here: http://knowledgecenter.zuora.com/L_Implementation_Guide:_Seed_Edition/K_Use_... to repair the broken WSDL imports and instantiate a SUDS client.
For reference, the WSDL I'm using is here: https://gist.github.com/bjmc/3213578bd3b5fdf06a46
When I go to try and update an account:
account = suds_client.factory.create('Account') account.AccountNumber = account_id account.AutoPay = False suds_client.service.update(account)
I get the following error:
File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/client.py", line 542, in __call__ return client.invoke(args, kwargs) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/client.py", line 595, in invoke soapenv = binding.get_message(self.method, args, kwargs) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/bindings/binding.py", line 120, in get_message content = self.bodycontent(method, args, kwargs) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/bindings/document.py", line 63, in bodycontent p = self.mkparam(method, pd, value) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/bindings/document.py", line 105, in mkparam return Binding.mkparam(self, method, pdef, object) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/bindings/binding.py", line 287, in mkparam return marshaller.process(content) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/core.py", line 62, in process self.append(document, content) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/core.py", line 75, in append self.appender.append(parent, content) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/appender.py", line 102, in append appender.append(parent, content) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/appender.py", line 243, in append Appender.append(self, child, cont) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/appender.py", line 182, in append self.marshaller.append(parent, content) File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/core.py", line 74, in append if self.start(content): File "/home/bjmc/Sandbox/project/.env/local/lib/python2.7/site-packages/suds/mx/literal.py", line 87, in start raise TypeNotFound(content.tag) TypeNotFound: Type not found: 'Type not found: 'billToContact'
I'm guessing that I need to do some further repairs to the WSDL with the ImportDoctor, but I'm not sure what those might be exactly. Can anyone point me in the right direction?
Thanks, Brendan