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 -~----------~----~----~----~------~----~------~--~---
