[Fedora-suds-list] Exception thrown when dealing with a faultcode

Pratik Patel pratik at envieinteractive.com
Thu Jun 3 03:40:26 UTC 2010


I’m trying to use suds to communicate with a server based at another
company. I call a method on the server and receive this XML:



DEBUG:suds.client:sending to (https://soap.vindicia.com/soap.pl)

message:

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://soap.vindicia.com/v3_5/Account" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/">

   <SOAP-ENV:Header/>

   <ns0:Body>

      <ns1:update>

         <auth>

            <version/>

            <login>EDITED OUT</login>

            <password> EDITED OUT!! </password>

         </auth>

         <account>

            <emailAddress>pratik at envieinteractive.com</emailAddress>

            <emailTypePreference>html</emailTypePreference>

            <preferredLanguage>en</preferredLanguage>

            <name>Pratik Patel20100602203112</name>

         </account>

      </ns1:update>

   </ns0:Body>

</SOAP-ENV:Envelope>

DEBUG:suds.client:headers = {'SOAPAction': u'"
http://soap.vindicia.com/v3_5/Account#update"', 'Content-Type': 'text/xml;
charset=utf-8'}

DEBUG:suds.transport.http:sending:

URL:https://soap.vindicia.com/soap.pl

HEADERS: {'SOAPAction': u'"http://soap.vindicia.com/v3_5/Account#update"',
'Content-Type': 'text/xml; charset=utf-8', 'Content-type': 'text/xml;
charset=utf-8', 'Soapaction': u'"
http://soap.vindicia.com/v3_5/Account#update"'}

MESSAGE:

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://soap.vindicia.com/v3_5/Account" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/">

   <SOAP-ENV:Header/>

   <ns0:Body>

      <ns1:update>

         <auth>

            <version/>

            <login>EDITED OUT</login>

            <password>EDITED OUT!!</password>

         </auth>

         <account>

            <emailAddress>pratik at envieinteractive.com</emailAddress>

            <emailTypePreference>html</emailTypePreference>

            <preferredLanguage>en</preferredLanguage>

            <name>Pratik Patel20100602203112</name>

         </account>

      </ns1:update>

   </ns0:Body>

</SOAP-ENV:Envelope>

DEBUG:suds.transport.http:received:

CODE: 200

HEADERS: {'content-length': '639', 'soapserver': 'SOAP::Lite/Perl/0.710.10',
'server': 'Apache/1.3.41 (Unix) mod_perl/1.30 mod_ssl/2.8.31
OpenSSL/0.9.7f', 'connection': 'close', 'date': 'Thu, 03 Jun 2010 03:31:02
GMT', 'content-type': 'text/xml; charset=utf-8'}

MESSAGE:

<?xml version="1.0" encoding="UTF-8"?>

<soap:Envelope

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema"

    soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <soap:Fault>

      <faultcode>soap:Server</faultcode>



      <faultstring>Can't use string ("") as an ARRAY ref while "strict refs"
in use at /vindicia/site_perl/Vindicia/Soap/DocLitUtils.pm line 130.

</faultstring>

    </soap:Fault>

  </soap:Body>

</soap:Envelope>



DEBUG:suds.client:http succeeded:

<?xml version="1.0" encoding="UTF-8"?>

<soap:Envelope

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema"

    soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <soap:Fault>

      <faultcode>soap:Server</faultcode>



      <faultstring>Can't use string ("") as an ARRAY ref while "strict refs"
in use at /vindicia/site_perl/Vindicia/Soap/DocLitUtils.pm line 130.

</faultstring>

    </soap:Fault>

  </soap:Body>

</soap:Envelope>





This results in the following exception:



Traceback (most recent call last):

  File "X:\mf\RedIndigo\res\scripts\base\VindiciaHarness.py", line
154, in <module>

    sys.exit(main(*sys.argv))

  File "X:\mf\RedIndigo\res\scripts\base\VindiciaHarness.py", line 128, in main

    test = client.service.update(lauth,lacc)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py",
line 538, in __call__

    return client.invoke(args, kwargs)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py",
line 602, in invoke

    result = self.send(msg)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py",
line 634, in send

    result = self.succeeded(binding, reply.message)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py",
line 669, in succeeded

    r, p = binding.get_reply(self.method, reply)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\bindings\binding.py",
line 157, in get_reply

    result = self.replycomposite(rtypes, nodes)

  File "C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\bindings\binding.py",
line 227, in replycomposite

    raise Exception('<%s/> not mapped to message part' % tag)

Exception: <faultcode/> not mapped to message part





I’m a total newbie to suds (and SOAP!) so can someone tell me why this
exception is being thrown and what I could do to fix it? I’ll deal with the
errors from the server once I fix the cause of the exceptions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/suds/attachments/20100602/b3c1d937/attachment-0001.html 


More information about the suds mailing list