Hi Jeff, That was it! Thank you for pointing that out. I'm using .NET 2.0 so I would rather you guys switched to 2.0 too.
Going back to this problem. Why didn't the validateReportJob call catch this problem? It should be an obvious error that it could throw an exception on. Thanks again, Ken On Dec 17, 7:57 am, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hello Ken, > > You're running into one of the more... interesting... aspects of > the .NET client library. To quote from the README: > > "In the .NET 1.1 SOAP layer primitive types do not get serialized by > default. > .NET has no way of specifying null for a variable of a primitive type. > If a > primitive type variable is a binding to a SOAP paramer defined in the > WSDL as > nillable="true", in order for the variable to be serialized you need > to set a > variable <parameterName>Specified to true in order for it to be > serialized. > newCampaign.budgetAmount = 1000000L; > newCampaign.budgetAmountSpecified = true; > The members <parameterName>Specified are an artifact of the .NET SOAP > library > and are not present in the original WSDL." > > The crossClient attribute of the DefinedReportJob object won't get > properly serialized unless you also set crossClientSpecified to > "true". You can see that it's not present in the SOAP request that > you're sending, and that's causing your empty reports. > > On a very related note, I believe that the maintainer of the .NET > client library plans on migrating from the ancient .NET 1.1 WSDL class > generator to the somewhat more recent .NET 2.0 WSDL class generator > with the next major release. This should eliminate the nonsense with > the extra xyzSpecified attributes as well as add a few other niceties. > It also means that if you're still writing your code against the .NET > 1.1 runtime you would not be able to use the official client library. > If you're strongly attached to using the .NET 1.1 runtime (e.g. > VisualStudio 2003), then you should speak up and let us know. > > Cheers, > -Jeff Posnick, AdWords API Team > > On Dec 16, 7:46 pm, API User from Z <jojo.roque+...@zazzle.com> wrote: > > > Hi Jeff, > > > Thanks for the pointer to the .Net client libraries. I got the SOAP > > trace for my API calls. I pasted them below. I also want to add that > > changing the date to yesterday didn't make any difference. I still > > got the empty result set. And the whole reason for making these calls > > is to get the most up to date data, essentially populate our data cube > > with the data from the Client Reports every few hours. Is there > > another Web Service I can use for that purpose? > > > I think security of the API requests is not an issue here, because I > > successfully retrieved my usage information using the same HTTP > > headers. > > > Please let me know what I need to change to get the data from my > > report requests. > > > Thanks, > > Ken > > > -------------------------------------------------------- > > POST /api/adwords/v13/ReportService HTTP/1.0 > > Host: adwords.google.com > > User-agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client > > Protocol 2.0.50727.1433) > > Content-type: text/xml; charset=utf-8 > > Content-length: 1730 > > SOAPAction: "scheduleReportJob" > > -------------------------------------------------------- > > <?xml version="1.0" encoding="utf-8"?> > > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > <soap:Header> > > <applicationToken xmlns="https://adwords.google.com/api/adwords/ > > v13">APP_TOKEN</applicationToken> > > <developerToken xmlns="https://adwords.google.com/api/adwords/ > > v13">DEV_TOKEN</developerToken> > > <email xmlns="https://adwords.google.com/api/adwords/ > > v13">MY_EMAIL</email> > > <password xmlns="https://adwords.google.com/api/adwords/ > > v13">MY_PASSWORD</password> > > <useragent xmlns="https://adwords.google.com/api/adwords/ > > v13">Zazzle.SEMTools.SEMTracker</useragent> > > </soap:Header> > > <soap:Body> > > <scheduleReportJob xmlns="https://adwords.google.com/api/adwords/ > > v13"> > > <job xsi:type="DefinedReportJob"> > > <endDay>2008-12-15</endDay> > > <name>Keyword Stats:12/15/2008</name> > > <startDay>2008-12-15</startDay> > > <aggregationTypes>Summary</aggregationTypes> > > <selectedColumns>Keyword</selectedColumns> > > <selectedColumns>KeywordDestUrlDisplay</selectedColumns> > > <selectedColumns>FirstPageCpc</selectedColumns> > > <selectedColumns>QualityScore</selectedColumns> > > <selectedColumns>MaximumCPC</selectedColumns> > > <selectedColumns>MaxContentCPC</selectedColumns> > > <selectedColumns>AdGroupMaxCpa</selectedColumns> > > <selectedColumns>PreferredCPC</selectedColumns> > > <selectedColumns>TopPosition</selectedColumns> > > <selectedColumns>BottomPosition</selectedColumns> > > <selectedColumns>Impressions</selectedColumns> > > <selectedColumns>Clicks</selectedColumns> > > <selectedColumns>Cost</selectedColumns> > > <selectedColumns>AveragePosition</selectedColumns> > > <selectedReportType>Keyword</selectedReportType> > > </job> > > </scheduleReportJob> > > </soap:Body> > > </soap:Envelope> > > -------------------------------------------------------- > > > -----SoapResponse at 12/16/2008 4:01:56 PM----- > > Content-type: text/xml; charset=utf-8 > > Content-length: 1134 > > SOAPAction: "scheduleReportJob" > > -------------------------------------------------------- > > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/ > > envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > > <soapenv:Header> > > <responseTime soapenv:actor="http://schemas.xmlsoap.org/soap/actor/ > > next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/ > > adwords/v13">135</responseTime> > > <operations soapenv:actor="http://schemas.xmlsoap.org/soap/actor/ > > next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/ > > adwords/v13">1</operations> > > <units soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" > > soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/ > > adwords/v13">500</units> > > <requestId soapenv:actor="http://schemas.xmlsoap.org/soap/actor/ > > next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/ > > adwords/v13">7f046ba7db3749f795c3551d75b67cfd</requestId> > > </soapenv:Header> > > <soapenv:Body> > > <scheduleReportJobResponse xmlns="https://adwords.google.com/api/ > > adwords/v13"> > > <scheduleReportJobReturn>606223085</scheduleReportJobReturn> > > </scheduleReportJobResponse> > > </soapenv:Body> > > </soapenv:Envelope> > > -------------------------------------------------------- > > > On Dec 16, 12:50 pm, AdWords API Advisor > > > <adwordsapiadvi...@google.com> wrote: > > > Hello Ken, > > > > To start with, I wouldn't recommend running a report for the current > > > day--it's recommended that you wait until at least 6 hours after > > > midnight in your local timezone before requesting a report for the > > > previous day. The data you get back for the current day will almost > > > definitely be incomplete. I wouldn't expect it to be all zeros, like > > > you're seeing, but as a first step could you try setting the day in > > > question to yesterday? > > > > In general, though, I think you're running into issues related to the > > > credentials you're providing in your SOAP request--what I talked about > > > in my last message in that thread you mentioned. Seeing either the > > > SOAP request you're making or if you'd rather not post that due the > > > email addresses, just providing the value of the requestId SOAP > > > response header from your scheduleReportJob() response would be the > > > best way to debug that. I can't tell whether you're using .NET or > > > Java, or whether you're using the official client libraries for each > > > language. If you are using the client library in one of those > > > languages, take a look at the README file that comes with it--I > > > believe it should have an example of how to turn on SOPA logging to > > > get that info. > > > > Cheers, > > > -Jeff Posnick, AdWords API Team --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en -~----------~----~----~----~------~----~------~--~---