title: SUDS SOAP WSDL not working with Vormetric Appliance
body: <p>I am trying to use Jerko SUDS to generate WSDL client calls to a Vormetric key server, to show the keys on the platform. I am using SUDS elements to construct the SOAP message.</p>
  
  <pre><code>from suds.client import Client
  from suds.sax.element import Element
  import ssl
  import logging
  
  logging.basicConfig(level=logging.INFO)
  logging.getLogger('suds.client').setLevel(logging.DEBUG)
  
  ssl._create_default_https_context = ssl._create_unverified_context
  
  url = 'https://&lt;dkm&gt;/communication-server/SSControllerCli?wsdl'
  client = Client(url)
  
  login = Element('loginInfo')
  user = Element('userName').setText('xxx')
  auth = Element('password').setText('xxx')
  domain = Element('domainName').setText('xxx')
  keyType = Element('switchKey').setText('All')
  login.append(user)
  login.append(auth)
  login.append(domain)
  
  result = client.service.ShowAllKeys(login, keyType)
  print result
  </code></pre>
  
  <p>When I execute this it appears to work, and generate a good SOAP message, however I get a server error when trying to execute.</p>
  
  <pre><code>DEBUG:suds.client:sending to (https://&lt;dkm&gt;/communication-server/SSControllerCli)
  message:
  &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;SOAP-ENV:Envelope xmlns:ns0="http://www.vormetric.com/securityserver/clicommon/2010/02/26" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="htt
  p://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:ShowAllKeys&gt;
           &lt;loginInfo&gt;
              &lt;userName&gt;xxx&lt;/userName&gt;
              &lt;password&gt;xxx&lt;/password&gt;
              &lt;domainName&gt;xxx&lt;/domainName&gt;
           &lt;/loginInfo&gt;
           &lt;switchKey&gt;All&lt;/switchKey&gt;
        &lt;/ns0:ShowAllKeys&gt;
     &lt;/ns1:Body&gt;
  &lt;/SOAP-ENV:Envelope&gt;
  DEBUG:suds.client:headers = {'SOAPAction': '""', 'Content-Type': 'text/xml; charset=utf-8'}
  DEBUG:suds.client:HTTP failed - 500 - Internal Server Error:
  &lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"&gt;&lt;soap:Body&gt;&lt;soap:Fault&gt;&lt;faultcode&gt;soap:Server&lt;/faultcode&gt;&lt;faultstring&gt;An internal error oc
  curred on the Security Server. Refer to cgss.log and server.log for details. Call support if necessary.&lt;/faultstring&gt;&lt;detail&gt;&lt;CgssServerFaultDetail xmlns="http:
  //www.vormetric.com/securityserver/clicommon/2010/02/26"&gt;&lt;servername&gt;***REMOVED***&lt;/servername&gt;&lt;errorcode&gt;DAO0038E&lt;/errorcode&gt;&lt;errormessage&gt;A
  n internal error occurred on the Security Server. Refer to cgss.log and server.log for details. Call support if necessary.&lt;/errormessage&gt;&lt;/CgssServerFaultDetail
  &gt;&lt;/detail&gt;&lt;/soap:Fault&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;
  ERROR:suds.client:&lt;suds.sax.document.Document instance at 0x0000000003E0BA48&gt;
  Traceback (most recent call last):
    File "vorm-soap-suds.py", line 29, in &lt;module&gt;
      result = client.service.ShowAllKeys(login, keyType)
    File "build\bdist.win-amd64\egg\suds\client.py", line 521, in __call__
    File "build\bdist.win-amd64\egg\suds\client.py", line 581, in invoke
    File "build\bdist.win-amd64\egg\suds\client.py", line 619, in send
    File "build\bdist.win-amd64\egg\suds\client.py", line 670, in process_reply
  suds.WebFault: Server raised fault: 'An internal error occurred on the Security Server. Refer to cgss.log and server.log for details. Call support if necessary.
  '
  </code></pre>
  
  <p>The interesting thing is that I know that the message structure itself is good, because I can drop it into the Chrome Wizdler app and it works perfectly, so it appears to be an issue specific to SUDS.</p>
  
  <p>Appreciate any help.</p>