[Fedora-suds-list] Exception in unmarshaller
Cameron Morrison
cameron.am at gmail.com
Wed Jul 30 16:51:27 UTC 2008
Hi Jeff,
The version you sent me a while ago is working correctly for what I
need. Just thought I'd let you know that the current trunk does not,
it's producing the following errors when I attempt to use it instead:
2008-07-30 12:48:40,139 [ERROR] __find() @resolver.py:203
(@set) not-found
2008-07-30 12:48:40,140 [WARNING] append_attr() @unmarshaller.py:382
attribute (set) type, not-found
2008-07-30 12:48:40,140 [ERROR] __find() @resolver.py:203
(@cout) not-found
2008-07-30 12:48:40,140 [WARNING] append_attr() @unmarshaller.py:382
attribute (cout) type, not-found
2008-07-30 12:48:40,140 [ERROR] __find() @resolver.py:203
(@projectid) not-found
...<cut off lots of extra text>...
I will continue to use the version that works for me, but I thought
you'd like to know.
Cheers,
Cam
2008/6/11 Jeff Ortel <jortel at redhat.com>:
> Hey Cameron,
>
> I've attached a pre-release version of 0.2.2 for you to try. It's still
> being tested so ... :-)
>
> Let me know how you make out.
>
> Regards,
>
> Jeff
>
>
>
> Cameron Morrison wrote:
>>
>> Hi,
>>
>> I am trying to call the service GetRecordings(...) defined in the
>> attached wsdl, like so:
>>
>> ---
>> #!/bin/python
>>
>> from suds.client import Client
>> from suds import *
>>
>> logger('suds.serviceproxy').setLevel(logging.DEBUG)
>>
>> client = Client('http://localhost:2048/services/Recording.asmx?WSDL',
>> faults=False, proxy={'http':'localhost:8888'})
>> print client.service.GetRecordings('FilterBySong', 'None', 1, 10, '2')
>> ---
>>
>> The call works, and the following xml is returned:
>>
>> ---
>> <?xml version="1.0" encoding="utf-8"?>
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>> <soap:Body>
>> <GetRecordingsResponse xmlns="http://tempuri.org/">
>> <GetRecordingsResult>
>> <status>Success</status>
>> <result>
>> <recordings count="4" total="4" xmlns="">
>> <recording id="317879" Votes="0" comments="0"
>> soundId="2">
>> <p1name><![CDATA[rob1]]></p1name>
>> <p2name><![CDATA[rob2]]></p2name>
>> <voice1Url>v1url</voice1Url>
>> <voice2Url>v2url</voice2Url>
>> </recording>
>> <recording id="317878" Votes="0" comments="0"
>> soundId="2">
>> <p1name><![CDATA[cam1]]></p1name>
>> <p2name><![CDATA[cam2]]></p2name>
>> <voice1Url>v1url</voice1Url>
>> <voice2Url>v2url</voice2Url>
>> </recording>
>> <recording id="317877" Votes="0" comments="0"
>> soundId="2">
>> <p1name><![CDATA[rob1]]></p1name>
>> <p2name><![CDATA[cam1]]></p2name>
>> <voice1Url>v1url</voice1Url>
>> <voice2Url>v2url</voice2Url>
>> </recording>
>> <recording id="317876" Votes="0" comments="0"
>> soundId="2">
>> <p1name><![CDATA[Cam]]></p1name>
>> <p2name><![CDATA[Rob]]></p2name>
>> <voice1Url>Cams voice</voice1Url>
>> <voice2Url>Robs voice</voice2Url>
>> </recording>
>> </recordings>
>> </result>
>> </GetRecordingsResult>
>> </GetRecordingsResponse>
>> </soap:Body>
>> </soap:Envelope>
>> ---
>>
>> ... but the unmarshaller is throwing an exception when trying to
>> process the recordings element of the returned document:
>>
>> ---
>> 2008-06-11 09:41:58,250 {2796} (resolver.py, 167) [ERROR] (recordings)
>> not-found
>> Traceback (most recent call last):
>> File "./test_driver.py", line 15, in <module>
>> print client.service.GetRecordings('FilterBySong', 'None', 1, 10, '2')
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 145,
>> in __call__
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 258, in
>> send
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 305,
>> in succeeded
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/binding.py",
>> line 86, in get_reply
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/binding.py",
>> line 111, in unmarshal
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 73, in process
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 91, in __process
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 122, in import_children
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 91, in __process
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 122, in import_children
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 89, in __process
>> File "build/bdist.cygwin-1.5.25-i686/egg/suds/bindings/unmarshaller.py",
>> line 275, in start
>> suds.TypeNotFound: WSDL type: recordings not-found
>> ---
>>
>> The "recordings" element is not specified in the WSDL - the Result
>> field of a ServiceResponse is intended to be arbitrarly formatted xml
>> - is there any way that Suds can handle this?
>>
>> Cheers,
>> Cameron
>>
>> ps. the service is internal, so I am unable to provide a test url, sorry!
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> fedora-suds-list mailing list
>> fedora-suds-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/fedora-suds-list
>
>
More information about the fedora-suds-list
mailing list