[Fedora-suds-list] Possible problem with Yahoo WSDL
Joshua J. Kugler
joshua at eeinternet.com
Wed Apr 28 20:53:29 UTC 2010
Howdy!
I have one for you to argue with Yahoo about. :)
I am making this call:
client.deleteReports([5283740314, 528350731])
It is generating this XML:
<ns1:Body>
<ns0:deleteReports>
<ns0:reportIDs>5283740314</ns0:reportIDs>
<ns0:reportIDs>5283507314</ns0:reportIDs>
</ns0:deleteReports>
</ns1:Body>
Which generates a server-side error. Pinging yahoo about this, they
tell me it should be:
<v7:reportIDs>
<v7:long>5283740314</v7:long>
<v7:long>5283507314</v7:long>
</v7:reportIDs>
The WSDL, in part, has this:
<xsd:element name="deleteReports">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="reportIDs"
nillable="true" type="tns:ArrayOfLong"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The full WSDL is here:
http://developer.searchmarketing.yahoo.com/docs/V7/wsdl/V7/BasicReportService.wsdl
Who is wrong? Suds, the WSDL, or tech support? :)
Something I've noticed about Yahoo is that they seem to like named
parameters. Example: their docs will say that a call, say,
getReportList, returns:
ReportInfo[] - A list of all requested reports that you have access to
in the master account.
But the response will be a response will be a single attribute (length
1), with a name of ReportInfo, which will then be a list of all
reports. Stated another way, instead of returning a list directly, it
returns an object with an attribute of ReportInfo, which is a list. At
least, that's what it does when called via Suds.
This is trunk, R671-20100405
Thanks!
j
--
Joshua Kugler
Part-Time System Admin/Programmer
http://www.eeinternet.com
PGP Key: http://pgp.mit.edu/ ID 0x73B13B6A
More information about the suds
mailing list