Hi,

As the fieldPath indicates, the problem here is that the API server
isn't recognizing the type of the operand field.  In your request the
xsi:type of the operand is "namesp19:BiddableAdGroupCriterion", but
namesp19 prefix is never defined in document (neither is the soap
prefix).  Please ensure that all namespace prefixes are defined
correctly in the request XML.

Best,
- Eric

On Feb 25, 4:18 pm, TJG <tgala...@didit.com> wrote:
> 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:...
>
> read more »

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

Reply via email to