Thank you very much for that information. It has certainly set me on the right path and I should be able to make much more progress now.
On Feb 10, 11:30 am, AdWords API Advisor <adwordsapiadvi...@google.com> wrote: > Hi, > > I can see two problems with your request. The first is that the > <operations> element and all sub elements needs to be in the AdWords > cm namespace. The xsi:types are all in this namespace, but the body > elements themselves are not in any namespace, which is causing the API > server to not find the elements and return an error about an empty > list. > > Looking forward, there shouldn't be a BiddableAdGroupCriterion > element. Instead the operand should have an xsi:type of > BiddableAdGroupCriterion. > > Best, > - Eric Koleda, AdWords API Team > > On Feb 9, 12:59 pm, TJG <tgala...@didit.com> wrote: > > > > > I am responsible for converting my company's v13 interaction to the > > new v200909 API. > > All seemed to be going well as I started but I seem to have hit a > > wall. > > For the moment, I am only attempting to access the sandbox API and > > have not attempted to connect to the production WSDLs. > > > I should note that this code is in Perl, and we are not using the > > client library. > > > The constructed SOAP request is: > > <?xml version="1.0" encoding="UTF-8"?> > > <soap:Envelope > > xmlns:namesp1="https://adwords.google.com/api/adwords/cm/v200909" > > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > > soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > > > <soap:Header> > > <namesp4:RequestHeader soapenc:arrayType="xsd:string[5]" > > xsi:type="soapenc:Array" xmlns:namesp4="https://adwords.google.com/api/ > > adwords/cm/v200909"> > > <namesp5:applicationToken xsi:type="xsd:string" > > xmlns:namesp5="https://adwords.google.com/api/adwords/cm/v200909">not- > > used-in-sandbox</namesp5:applicationToken> > > <namesp6:authToken xmlns:namesp6="https://adwords.google.com/ > > api/adwords/cm/v200909" xsi:type="xsd:string">auth-token</ > > namesp6:authToken> > > <namesp7:clientEmail xsi:type="xsd:string" > > xmlns:namesp7="https://adwords.google.com/api/adwords/cm/ > > v200909">valid-email/namesp7:clientEmail> > > <namesp8:developerToken xmlns:namesp8="https:// > > adwords.google.com/api/adwords/cm/v200909" > > xsi:type="xsd:string">developer-token</namesp8:developerToken> > > <namesp9:useragent xmlns:namesp9="https://adwords.google.com/ > > api/adwords/cm/v200909" xsi:type="xsd:string">Our Company</ > > namesp9:useragent> > > </namesp4:RequestHeader> > > </soap:Header> > > > <soap:Body> > > <namesp1:mutate xmlns:namesp1="https://adwords.google.com/api/ > > adwords/cm/v200909"> > > <operations xmlns:impl="https://adwords.google.com/api/adwords/ > > cm/v200909" soapenc:arrayType="xsd:anyType[2]" > > xsi:type="impl:AdGroupCriterionOperation"> > > <operator xmlns:impl="https://adwords.google.com/api/ > > adwords/cm/v200909" xsi:type="impl:Operator">SET</operator> > > <operand xmlns:impl="https://adwords.google.com/api/ > > adwords/cm/v200909" > > soapenc:arrayType="impl:BiddableAdGroupCriterion[1]" > > xsi:type="impl:AdGroupCriterion"> > > <BiddableAdGroupCriterion xmlns:impl="https:// > > adwords.google.com/api/adwords/cm/v200909" > > soapenc:arrayType="xsd:anyType[3]" > > xsi:type="impl:BiddableAdGroupCriterion"> > > <adGroupId xsi:type="xsd:long">3000128164</ > > adGroupId> > > <criterion xmlns:impl="https://adwords.google.com/ > > api/adwords/cm/v200909" soapenc:arrayType="xsd:long[1]" > > xsi:type="impl:Criterion"> > > <id xsi:type="xsd:long">11255383</id> > > </criterion> > > <bids xmlns:impl="https://adwords.google.com/api/ > > adwords/cm/v200909" soapenc:arrayType="xsd:anyType[2]" > > xsi:type="impl:ManualCPCAdGroupCriterionBids"> > > <maxCpc xmlns:impl="https://adwords.google.com/ > > api/adwords/cm/v200909" soapenc:arrayType="impl:Money[1]" > > xsi:type="impl:Bid"> > > <amount xmlns:impl="https:// > > adwords.google.com/api/adwords/cm/v200909" > > soapenc:arrayType="xsd:long[1]" xsi:type="impl:Money"> > > <microAmount > > xsi:type="xsd:long">4500000</microAmount> > > </amount> > > </maxCpc> > > <bidSource xmlns:impl="https:// > > adwords.google.com/api/adwords/cm/v200909" > > xsi:type="impl:BidSource">CRITERION</bidSource> > > </bids> > > </BiddableAdGroupCriterion> > > </operand> > > </operations> > > </namesp1:mutate> > > </soap:Body> > > </soap:Envelope> > > > And it receives the rather cryptic response: > > <soap:Body> > > <soap:Fault> > > <faultcode>soap:Server</faultcode> > > <faultstring>[NotEmptyError.EMPTY_LIST @ operations]</ > > faultstring> > > <detail> > > <ApiExceptionFault xmlns="https://adwords.google.com/ > > api/adwords/cm/v200909"> > > <message>[NotEmptyError.EMPTY_LIST @ operations]</ > > message> > > <ApplicationException.Type>ApiException</ > > ApplicationException.Type> > > <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- > > instance" xsi:type="NotEmptyError"> > > <fieldPath>operations</fieldPath> > > <trigger></trigger> > > <ApiError.Type>NotEmptyError</ApiError.Type> > > <reason>EMPTY_LIST</reason> > > </errors> > > </ApiExceptionFault> > > </detail> > > </soap:Fault> > > </soap:Body> > > > I am not one to hit the forums the minute it doesn't work but I am now > > on my third day trying to figure out where I am going wrong. I tried > > running the provided samples (even though they were version 200906) > > for an addition of a keyword and received the exact same response > > I can construct the SOAP however is necessary (that's the easy part > > for me) so I just need help changing the above call to include the > > proper pieces; if someone gave me a properly formatted, and thus > > potentially working, XML for this call I can handle all the rest > > myself. > > > The assistance of those more familiar with this than I would be of > > great help. -- 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-...@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.