Hi All:
I am trying to query the SOAP service at the
www.lyricwiki.org. The wsdl is
here:
http://lyricwiki.org/server.php?wsdl
The query is failing with a general exception with regard to tag not found.
I've run this with log level debug and I am getting a response with the
correct content. So there is something else going on.
Following is the log and the exception. This was a query for getArtist and to
avoid excessive output I used a non-existent artist. The same exception occurs
if a valid artist is used. Thanks in advance for the help.
-steve
c1.service.getArtist("dummy")
DEBUG:suds.xsd.query:TypeQuery:0x2141560, found builtin (string)
DEBUG:suds.bindings.marshaller:processing:
(Content){
tag = "artist"
value = "dummy"
type = <PartElement:0x2141a28 inherited="False" />
}
DEBUG:suds.bindings.marshaller:created - node:
<artist xmlns="urn:LyricWiki"
xmlns:ns1="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns1:string"/>
DEBUG:suds.metrics:message for 'LyricWikiPort:getArtist' created: 1 (ms)
DEBUG:suds.client:sending to (
http://lyricwiki.org/server.php)
message:
<SOAP-ENV:Envelope xmlns:ns0="urn:LyricWiki"
xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns0:getArtist>
<artist xsi:type="ns1:string">dummy</artist>
</ns0:getArtist>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:headers = {'SOAPAction':
u'"urn:LyricWiki#getArtist"',
'Content-Type': 'text/xml'}
DEBUG:suds.transport:sending to (
http://lyricwiki.org/server.php)
message:
<SOAP-ENV:Envelope xmlns:ns0="urn:LyricWiki"
xmlns:ns1="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns0:getArtist>
<artist xsi:type="ns1:string">dummy</artist>
</ns0:getArtist>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:http succeeded:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="http://soapinterop.org/xsd"
xmlns:tns="urn:LyricWiki"><SOAP-
ENV:Body><ns1:getArtistResponse xmlns:ns1="urn:LyricWiki"><artist
xsi:type="xsd:string">dummy</artist><albums
xsi:type="SOAP-ENC:Array" SOAP-
ENC:arrayType="tns:AlbumData[0]"></albums></ns1:getArtistResponse></SOAP-
ENV:Body></SOAP-ENV:Envelope>
DEBUG:suds.metrics:<?xml version="1.0"
encoding="UTF-8"?><SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-
ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="http://soapinterop.org/xsd"
xmlns:tns="urn:LyricWiki"><SOAP-
ENV:Body><ns1:getArtistResponse xmlns:ns1="urn:LyricWiki"><artist
xsi:type="xsd:string">dummy</artist><albums
xsi:type="SOAP-ENC:Array" SOAP-
ENC:arrayType="tns:AlbumData[0]"></albums></ns1:getArtistResponse></SOAP-
ENV:Body></SOAP-ENV:Envelope>
sax duration: 0 (ms)
DEBUG:suds.xsd.query:TypeQuery:0x21417e8, found builtin (string)
DEBUG:suds.xsd.query:(u'AlbumDataArray', u'urn:LyricWiki'), found as:
<Complex:0x1c4fea8 name="AlbumDataArray" />
---------------------------------------------------------------------------
Exception Traceback (most recent call last)
/home/users/snesbitt/bin/<ipython console> in <module>()
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in __call__(self, *args, **kwargs)
225 def __call__(self, *args, **kwargs):
226 target = self.__wrapped__
--> 227 return target.call(*args, **kwargs)
228
229
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in call(self, *args, **kwargs)
352 """
353 method = self.resolve(self.name(), strict=False)
--> 354 return method(*args, **kwargs)
355
356
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in __call__(self, *args, **kwargs)
225 def __call__(self, *args, **kwargs):
226 target = self.__wrapped__
--> 227 return target.call(*args, **kwargs)
228
229
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in call(self, *args, **kwargs)
391 if not self.faults():
392 try:
--> 393 return client.invoke(args, kwargs)
394 except WebFault, e:
395 return (500, e)
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in invoke(self, args, kwargs)
453 self.method.qname, timer)
454 timer.start()
--> 455 result = self.send(msg)
456 timer.stop()
457 metrics.log.debug(
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in send(self, msg)
478 request.headers = self.headers()
479 reply = transport.send(request)
--> 480 result = self.succeeded(binding, reply)
481 except TransportError, e:
482 if e.httpcode in (202,204):
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/client.py in succeeded(self, binding, reply)
510 log.debug('http succeeded:\n%s', reply)
511 if len(reply) > 0:
--> 512 r, p = binding.get_reply(self.method, reply)
513 self.last_received(r)
514 if self.options.faults:
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/bindings/binding.py in get_reply(self, method, reply)
127 return (replyroot, result)
128 if len(nodes) > 1:
--> 129 result = self.reply_composite(rtypes, nodes)
130 return (replyroot, result)
131 if len(nodes) == 1:
/home/users/snesbitt/lib/python2.5/site-packages/suds-0.3.3-
py2.5.egg/suds/bindings/binding.py in reply_composite(self, rtypes, nodes)
175 rt = dictionary.get(tag, None)
176 if rt is None:
--> 177 raise Exception('tag (%s), not-found' % tag)
178 resolved = rt.resolve(nobuiltin=True)
179 sobject = unmarshaller.process(node, resolved)