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_the_Z-Commerce_APIs/W_Get_Started_with_Python 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