Bug 1545706 - python3-suds: Unable to resolve WSDL method name
Summary: python3-suds: Unable to resolve WSDL method name
Alias: None
Product: Fedora
Classification: Fedora
Component: python3-suds
Version: 27
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 1485056
TreeView+ depends on / blocked
Reported: 2018-02-15 13:57 UTC by Oyvind Albrigtsen
Modified: 2018-06-15 13:19 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-06-15 13:19:35 UTC
Type: Bug

Attachments (Terms of Use)

Description Oyvind Albrigtsen 2018-02-15 13:57:39 UTC
Description of problem:
python3-suds fails to resolve WSDL method names, which works fine with python2-suds.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. conn.service.<methodname> fails to resolve.

Actual results:
Link to code where it fails: https://github.com/ClusterLabs/fence-agents/blob/master/fence/agents/vmware_soap/fence_vmware_soap.py#L128

Traceback (most recent call last):
  File "./fence_vmware_soap", line 259, in <module>
  File "./fence_vmware_soap", line 253, in main
    result = fence_action(conn_global, options_global, set_power_status, get_power_status, get_power_status)
  File "/usr/share/fence/fencing.py", line 881, in fence_action
    status = get_multi_power_fn(connection, options, get_power_fn)
  File "/usr/share/fence/fencing.py", line 749, in get_multi_power_fn
    plug_status = get_power_fn(connection, options)
  File "./fence_vmware_soap", line 127, in get_power_status
    raw_machines = conn.service.RetrievePropertiesEx(mo_PropertyCollector, propFilterSpec)
  File "/usr/lib/python3.6/site-packages/suds/client.py", line 566, in __call__
    return client.invoke(args, kwargs)
  File "/usr/lib/python3.6/site-packages/suds/client.py", line 705, in invoke
    result = self.send(soapenv)
  File "/usr/lib/python3.6/site-packages/suds/client.py", line 753, in send
    return self.process_reply(reply.message, None, None)
  File "/usr/lib/python3.6/site-packages/suds/client.py", line 814, in process_reply
    raise WebFault(fault, replyroot)
suds.WebFault: Server raised fault: 'Unable to resolve WSDL method name RetrievePropertiesEx for namespace name urn:vim25

while parsing SOAP body
at line 1, column 264

while parsing SOAP envelope
at line 1, column 38

while parsing HTTP request before method was determined
at line 1, column 0'

Expected results:
Works fine, like with python2-suds.

Additional info:

Comment 1 Oyvind Albrigtsen 2018-06-15 13:19:35 UTC
I was able to solve the issue by setting the SOAPAction manually (this was done automatically for the Python 2 version of the library).

Note You need to log in before you can comment on or make changes to this bug.