mvantellingen / python-zeep

A Python SOAP client
http://docs.python-zeep.org
Other
1.9k stars 586 forks source link

No definition found #662

Open Ismael opened 6 years ago

Ismael commented 6 years ago

I'm using Zeep 2.5.0 The WSDL is at: https://gist.github.com/Ismael/67973e62394c80623c56ad7582a88841

The WSDL service is created with Spyne.

Other SOAP client libraries are working with the service.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/zeep/client.py", line 134, in __init__
    self.wsdl = Document(wsdl, self.transport, strict=strict)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/wsdl.py", line 82, in __init__
    root_definitions.resolve_imports()
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/wsdl.py", line 234, in resolve_imports
    binding.resolve(self)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/definitions.py", line 128, in resolve
    operation.resolve(definitions)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/bindings/soap.py", line 447, in resolve
    self.input.resolve(definitions, self.abstract.input_message)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/messages/soap.py", line 287, in resolve
    self.header = self._resolve_header(info['header'], definitions, parts)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/messages/soap.py", line 364, in _resolve_header
    message = definitions.get('messages', message_name)
  File "/usr/local/lib/python2.7/dist-packages/zeep/wsdl/wsdl.py", line 214, in get
    raise IndexError("No definition %r in %r found" % (key, name))
IndexError: No definition u'{http://www.w3.org/2001/XMLSchema}string' in 'messages' found
patrickue commented 6 years ago

Hey Ismael, I have a similar problem with a customer API. How did you proceed, did you find a solution? Regards, Patrick

I'm working with: https://s-api.fifthplay.com/mobile/v7/DeviceService.svc?wsdl and that loads fine with SoapGUI, but I get:


Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/__main__.py", line 92, in <module>
    main(args)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/__main__.py", line 81, in main
    client = Client(args.wsdl_file, transport=transport, strict=strict)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/client.py", line 134, in __init__
    self.wsdl = Document(wsdl, self.transport, strict=strict)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/wsdl.py", line 82, in __init__
    root_definitions.resolve_imports()
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/wsdl.py", line 234, in resolve_imports
    binding.resolve(self)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/definitions.py", line 128, in resolve
    operation.resolve(definitions)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/bindings/soap.py", line 447, in resolve
    self.input.resolve(definitions, self.abstract.input_message)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/messages/soap.py", line 287, in resolve
    self.header = self._resolve_header(info['header'], definitions, parts)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/messages/soap.py", line 364, in _resolve_header
    message = definitions.get('messages', message_name)
  File "/Users/pthomas/Library/Python/3.6/lib/python/site-packages/zeep/wsdl/wsdl.py", line 214, in get
    raise IndexError("No definition %r in %r found" % (key, name))
IndexError: No definition '{api.fifthplay.com/mobile/v7/IDeviceService}IDeviceService_GetDevice_InputMessage_Headers' in 'messages' found```
Ismael commented 6 years ago

I just used another SOAP client library. PySimpleSoap as I recall worked ok.

patrickue commented 6 years ago

That's not exactly what I wanted to hear. ;) But thanks a lot for a quick response!