Hi Alex,

Thank you for the detailed information and proactive approach
regarding this issue, but I don't believe a patch is required.  The
definition of DefinedReportJob in the WSDL contains the following:

  <complexType name="DefinedReportJob" >
    <complexContent>
      <extension base="impl:ReportJob">
        ...
      </extension>
    </complexContent>
  </complexType>

You can see that the type DefinedReportJob is an extension fo the base
type ReportJob.  The documentation on the validateReportJob method has
this information as well: [
http://code.google.com/apis/adwords/docs/developer/ReportService.html#validateReportJob
].

Ensure that your PHP5 classes have the same extension relationship.
If you are having specific issues using the web service with PHP5
please post more detailed information about the errors.

Best,
Eric Koleda, AdWords API Team

On Jul 16, 11:15 pm, alexhayes <[email protected]> wrote:
> 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 
> athttps://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
> herehttp://code.google.com/apis/adwords/docs/developer/ReportService.html...
>
> 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