It seems I have not made as much progress as I had hoped. I am now receiving a CONCRETE_TYPE_REQUIRED error upon submitting a mutate. The last run of my code generated the following request:
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope> <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">token</ namesp6:authToken><namesp7:clientEmail xsi:type="xsd:string" xmlns:namesp7="https://adwords.google.com/api/adwords/cm/ v200909">szainud...@did-it.com</namesp7:clientEmail> <namesp8:developerToken xmlns:namesp8="https:// adwords.google.com/api/adwords/cm/v200909" xsi:type="xsd:string">dev_token</namesp8:developerToken> <namesp9:useragent xmlns:namesp9="https://adwords.google.com/ api/adwords/cm/v200909" xsi:type="xsd:string">Company</ namesp9:useragent> </namesp4:RequestHeader> </soap:Header> <soap:Body> <namesp1:mutate xmlns:namesp1="https://adwords.google.com/api/ adwords/cm/v200909"> <namesp11:operations soapenc:arrayType="xsd:anyType[2]" xmlns:namesp11="https://adwords.google.com/api/adwords/cm/v200909" xsi:type="namesp19:AdGroupCriterionOperation"> <namesp12:operator xmlns:namesp12="https:// adwords.google.com/api/adwords/cm/v200909" xsi:type="xsd:string">SET</ namesp12:operator> <namesp13:operand soapenc:arrayType="xsd:anyType[3]" xsi:type="namesp19:BiddableAdGroupCriterion" xmlns:namesp13="https:// adwords.google.com/api/adwords/cm/v200909"> <namesp14:adGroupId xmlns:namesp14="https:// adwords.google.com/api/adwords/cm/v200909" xsi:type="xsd:long">3000128164</namesp14:adGroupId> <namesp15:criterion soapenc:arrayType="xsd:anyType[3]" xsi:type="namesp19:Keyword" xmlns:namesp15="https://adwords.google.com/ api/adwords/cm/v200909"> <namesp16:id xmlns:namesp16="https:// adwords.google.com/api/adwords/cm/v200909" xsi:type="xsd:long">11255383</namesp16:id> <namesp17:text xsi:type="xsd:string" xmlns:namesp17="https://adwords.google.com/api/adwords/cm/ v200909">socks</namesp17:text> <namesp18:matchType xmlns:namesp18="https:// adwords.google.com/api/adwords/cm/v200909" xsi:type="xsd:string">EXACT</namesp18:matchType> </namesp15:criterion> <namesp20:bids soapenc:arrayType="namesp19:Bid[1]" xsi:type="namesp19:ManualCPCAdGroupCriterionBids" xmlns:namesp20="https://adwords.google.com/api/adwords/cm/v200909"> <namesp21:maxCpc soapenc:arrayType="namesp19:Money[1]" xsi:type="namesp19:Bid" xmlns:namesp21="https://adwords.google.com/api/adwords/cm/v200909"> <namesp22:amount soapenc:arrayType="xsd:long[1]" xsi:type="namesp19:Money" xmlns:namesp22="https://adwords.google.com/api/adwords/cm/v200909"> <namesp23:microAmount xsi:type="xsd:long" xmlns:namesp23="https://adwords.google.com/api/adwords/cm/ v200909">4500000</namesp23:microAmount> </namesp22:amount> </namesp21:maxCpc> </namesp20:bids> </namesp13:operand> </namesp11:operations> </namesp1:mutate> </soap:Body> </soap:Envelope> The ultimate failure response is: <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AdGroupCriterionError"> <fieldPath>operations[0].operand</fieldPath> <trigger></trigger> <ApiError.Type>AdGroupCriterionError</ApiError.Type> <reason>CONCRETE_TYPE_REQUIRED</reason> </errors> I assume that the error surrounds the criterion type (in this case Keyword), but whether I put in the Keyword, Placement, or abstract type (desperation) I get the same error. Thinking it might have been the type of the operand itself (BiddableAdGroupCriterion) I tried various permutations and still received the same error. Any help in amending my request would be a great boon to my efforts. If any additional information is required for clarification I would be glad to provide it. On Feb 11, 12:05 pm, TJG <tgala...@didit.com> wrote: > 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:mutatexmlns: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.