[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