title: Python SOAP client with Zeep - accessing password protected wsdl
body: <p>I am trying to create a python soap client with zeep but run into some problem when trying to access the wsdl. No matter how many existing solutions on the web I have tried, none of them is working anymore, or just my case is a little bit different. Most promising is the solution in the official zeep docs, but it still does not quite work:</p>
  
  <pre><code>from requests import Session
  from requests.auth import HTTPBasicAuth  # or HTTPDigestAuth, or OAuth1, etc.
  from zeep import Client
  from zeep.transports import Transport
  
  session = Session()
  session.auth = HTTPBasicAuth(user, password)
  client = Client('https://url/to/my_wsdl.wsdl',
      transport=Transport(session=session))
  </code></pre>
  
  <p>But I get an error:</p>
  
  <pre><code>  File "C:\Python36-32\lib\site-packages\zeep\client.py", line 124, in __init__
      self.wsdl = Document(wsdl, self.transport, strict=strict)
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\wsdl.py", line 82, in __init__
      root_definitions.resolve_imports()
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\wsdl.py", line 234, in resolve_imports
      binding.resolve(self)
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\definitions.py", line 128, in resolve
      operation.resolve(definitions)
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\bindings\soap.py", line 428, in resolve
      self.output.resolve(definitions, self.abstract.output_message)
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\messages\soap.py", line 285, in resolve
      self.body = self._resolve_body(info['body'], definitions, parts)
    File "C:\Python36-32\lib\site-packages\zeep\wsdl\messages\soap.py", line 423, in _resolve_body
      element = part.element.clone()
  AttributeError: 'NoneType' object has no attribute 'clone'
  </code></pre>
  
  <p>What am I missing or doing wrong? I am using python3.6 32bit on windows 10. All packages were freshly installed using pip.</p>