There appears to be an issue with Google's provided v13 WSDL (well,
appears to me, perhaps I am wrong).

If you have a look at 
https://adwords.google.com/api/adwords/v13/ReportService?wsdl
you will see that:

  1. Message validateReportJobRequest is of type validateReportJob
  2. Type validateReportJob is a sequence which contains 1 element, of
name job, which is of type ReportJob
  3. ReportJob contains a number of fields, and is defined as being
abstract.

This all looks ok, until you have a look the examples in the docs
here
http://code.google.com/apis/adwords/docs/developer/ReportService.html#validateReportJob

For instance, the Java example is as follows:

  // Create report job structure.
  DefinedReportJob job = new DefinedReportJob();
  job.setSelectedReportType("Keyword");
  job.setName("Sample Keyword Report");
  job.setAggregationTypes(new String[] {"Summary"});
  job.setAdWordsType(AdWordsType.SearchOnly);
  job.setKeywordType(KeywordType.Broad);
  job.setStartDay(new java.util.GregorianCalendar(2009, 0, 1).getTime
());
  job.setEndDay(new java.util.GregorianCalendar(2009, 0, 31).getTime
());
  job.setSelectedColumns(new String[] {
      "Campaign", "AdGroup", "Keyword", "KeywordStatus",
"KeywordMinCPC",
      "KeywordDestUrlDisplay", "Impressions", "Clicks", "CTR",
      "AveragePosition"});

  // Validate report.
  try {
    service.validateReportJob(job);
  ...

As can be seen, its using the type DefinedReportJob rather than
ReportJob. However
as stated above, in the WSDL definition validateReportJob takes a
ReportJob type.

The only reason I detected this is because I am using the SoapClient
class in PHP5
and after tracing requests noticed that most of the information I was
setting was
not being bound to the request. After looking at the WSDL I discovered
why I
believe this is occuring.

I've created a patch for the wsdl as follows:

--- adwords-v13-ReportService-live.wsdl 2009-07-17 13:07:49.000000000
+1000
+++ adwords-v13-ReportService-fixed.wsdl        2009-07-17 13:09:51.000000000
+1000
@@ -184,7 +184,7 @@
       <element name="getAllJobsResponse">
         <complexType>
           <sequence>
-            <element name="getAllJobsReturn" maxOccurs="unbounded"
type="impl:ReportJob" />
+            <element name="getAllJobsReturn" maxOccurs="unbounded"
type="impl:DefinedReportJob" />
           </sequence>
         </complexType>
       </element>
@@ -272,7 +272,7 @@
         <complexType>
           <sequence>

-            <element name="job" type="impl:ReportJob" />
+            <element name="job" type="impl:DefinedReportJob" />
           </sequence>
         </complexType>
       </element>
@@ -302,7 +302,7 @@
         <complexType>
           <sequence>

-            <element name="job" type="impl:ReportJob" />
+            <element name="job" type="impl:DefinedReportJob" />
           </sequence>
         </complexType>
       </element>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/adwords-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to