Skip to content

Instantly share code, notes, and snippets.

@amirasaran
Created December 13, 2016 07:09
Show Gist options
  • Save amirasaran/9ee4763daa644a63c29638a041a007a1 to your computer and use it in GitHub Desktop.
Save amirasaran/9ee4763daa644a63c29638a041a007a1 to your computer and use it in GitHub Desktop.

Revisions

  1. amirasaran created this gist Dec 13, 2016.
    23 changes: 23 additions & 0 deletions soap_client.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    from zeep import helpers, Client
    import types


    class SoapConnector(object):
    def __init__(self, base_url):
    self._client = Client(base_url)

    def send(self, method, data):
    connector = getattr(self._client.service, method)
    result = connector(**data)
    return helpers.serialize_object(result) \
    if isinstance(result, types.ListType) or isinstance(result, types.ClassType) else result


    client = SoapConnector("http://www.webservicex.net/ConvertSpeed.asmx?WSDL")
    data = {
    "speed": "100",
    "FromUnit": "kilometersPerhour",
    "ToUnit": "milesPerhour"
    }
    result = client.send('ConvertSpeed', data)
    print result