title: Can you help me solve this SUDS/SOAP issue?
body: <p>So I'm trying to access this api <a href="https://www.clarityaccounting.com/api-docs/" rel="nofollow noreferrer">https://www.clarityaccounting.com/api-docs/</a> using SUDS.  Here is the code that should work:</p>
  
  <pre><code>from suds.client import Client
  client = Client('https://www.clarityaccounting.com/api/v1?wsdl')
  token = client.service.doLogin('demo', 'demo', 'www.kashoo.com', 'en_US', 300000)
  </code></pre>
  
  <p>But I get this error:</p>
  
  <pre><code>WebFault: Server raised fault: 'No such operation:  (HTTP GET PATH_INFO: /api/v1)'
  </code></pre>
  
  <p>Their support guy says that the request should look like this:</p>
  
  <pre><code>&lt;SOAP-ENV:Envelope
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:api="http://api.service.books/"&gt;
    &lt;SOAP-ENV:Body&gt;
       &lt;api:doLogin&gt;
          &lt;username&gt;demo&lt;/username&gt;
          &lt;password&gt;demo&lt;/password&gt;
          &lt;siteName&gt;www.kashoo.com&lt;/siteName&gt;
          &lt;locale&gt;en_US&lt;/locale&gt;
          &lt;duration&gt;300000&lt;/duration&gt;
       &lt;/api:doLogin&gt;
    &lt;/SOAP-ENV:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  </code></pre>
  
  <p>But SUDS' looks like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope 
  xmlns:ns0="http://api.service.books/" 
  xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"&gt;
     &lt;SOAP-ENV:Header/&gt;
     &lt;ns1:Body&gt;
        &lt;ns0:doLogin&gt;
           &lt;username&gt;demo&lt;/username&gt;
           &lt;password&gt;demo&lt;/password&gt;
           &lt;siteName&gt;www.kashoo.com&lt;/siteName&gt;
           &lt;locale&gt;en_US&lt;/locale&gt;
           &lt;duration&gt;300000&lt;/duration&gt;
        &lt;/ns0:doLogin&gt;
     &lt;/ns1:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  </code></pre>
  
  <p>I'm a real SOAP and SUDS newbie but I heard that SUDS is the best SOAP library to use from here: <a href="https://stackoverflow.com/questions/206154/">What SOAP client libraries exist for Python, and where is the documentation for them?</a>  </p>
  
  <p>So my question is simply what are the crucial parts that are different and that are making the request fail and how can I configure SUDS to send the properly formatted request?</p>