Hey AdWords Team, I don't really consider this a critical show stopper but it appears as if something in your error handling is slightly amiss. When I attempt to remove a platform target from the campaign criterion service that has not been set on a campaign, I would expect to receive an invalid_id error as I do for geo targets and language targets as you can see below. However for platform targets it says I cannot set platform targets as negative targets. I'm not sure if this is indicative of a larger problem or if it is simply the error handlers and messaging that is incorrect. Please look into having this fixed if you deem it appropriate. It might make more sense if it were to return an invalid_id error as I think that is what is being done for the other campaign criterion targets in such a case.
Peter highlights -------------------- <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Platform"> <cm:id>30001</cm:id> </cm:criterion> </cm:operand> </operations> .... <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="CampaignCriterionError"> <fieldPath>operations[1].operand.criterion</fieldPath> <trigger>30001</trigger> <errorString>CampaignCriterionError.CANNOT_EXCLUDE_PLATFORM_CRITERION</ errorString> <ApiError.Type>CampaignCriterionError</ApiError.Type> <reason>CANNOT_EXCLUDE_PLATFORM_CRITERION</reason> </errors> full log --------------- ************************************************************************ *** Outgoing SOAP ****************************************************** <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi3="http://www.w3.org/2001/XMLSchema-instance" > <SOAP-ENV:Header xmlns="https://adwords.google.com/api/adwords/cm/ v201109" xmlns:cm="https://adwords.google.com/api/adwords/cm/v201109"> <RequestHeader> <cm:developerToken>xxxxxxxxxxxxxxxxxx</cm:developerToken> <cm:userAgent>AwApi-Python-15.1.4|Test Client</cm:userAgent> <cm:authToken>xxxxxxxxxxxxxxxxx</cm:authToken> <cm:clientCustomerId>xxxxxxxxxxxxxxx</cm:clientCustomerId> </RequestHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201109" xmlns:cm="https://adwords.google.com/api/adwords/cm/v201109"> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Language"> <cm:id>1004</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Platform"> <cm:id>30001</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1002451</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1002376</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>200514</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1002604</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>REMOVE</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>20121</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>2524</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1001801</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>200804</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1001808</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1000567</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:CampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>20341</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1013532</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1013531</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>2554</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1002620</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>200565</cm:id> </cm:criterion> </cm:operand> </operations> <operations xsi3:type="cm:CampaignCriterionOperation"> <cm:operator>ADD</cm:operator> <cm:operand xsi3:type="cm:NegativeCampaignCriterion"> <cm:campaignId>556944</cm:campaignId> <cm:criterion xsi3:type="cm:Location"> <cm:id>1013537</cm:id> </cm:criterion> </cm:operand> </operations> </mutate> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ************************************************************************ *** Incoming HTTP headers ********************************************** HTTP/1.? 500 Internal Server Error Content-Type: text/xml; charset=UTF-8 Date: Wed, 08 Feb 2012 10:33:45 GMT Expires: Wed, 08 Feb 2012 10:33:45 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Server: GSE ************************************************************************ *** Incoming SOAP ****************************************************** <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <ResponseHeader xmlns="https://adwords.google.com/api/adwords/cm/ v201109"> <requestId>0004b8716e21fcb80a0c500200003a11</requestId> <serviceName>CampaignCriterionService</serviceName> <methodName>mutate</methodName> <operations>7</operations> <responseTime>168</responseTime> <units>7</units> </ResponseHeader> </soap:Header> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>[EntityNotFound.INVALID_ID @ operations[0].operand.criterion; trigger:'1004', CampaignCriterionError.CANNOT_EXCLUDE_PLATFORM_CRITERION @ operations[1].operand.criterion; trigger:'30001', EntityNotFound.INVALID_ID @ operations[2].operand.criterion; trigger:'1002451', EntityNotFound.INVALID_ID @ operations[3].operand.criterion; trigger:'1002376', EntityNotFound.INVALID_ID @ operations[4].operand.criterion; trigger:'200514', EntityNotFound.INVALID_ID @ operations[5].operand.criterion; trigger:'1002604', EntityNotFound.INVALID_ID @ operations[6].operand.criterion; trigger:'20121']</faultstring> <detail> <ApiExceptionFault xmlns="https://adwords.google.com/api/ adwords/cm/v201109"> <message>[EntityNotFound.INVALID_ID @ operations[0].operand.criterion; trigger:'1004', CampaignCriterionError.CANNOT_EXCLUDE_PLATFORM_CRITERION @ operations[1].operand.criterion; trigger:'30001', EntityNotFound.INVALID_ID @ operations[2].operand.criterion; trigger:'1002451', EntityNotFound.INVALID_ID @ operations[3].operand.criterion; trigger:'1002376', EntityNotFound.INVALID_ID @ operations[4].operand.criterion; trigger:'200514', EntityNotFound.INVALID_ID @ operations[5].operand.criterion; trigger:'1002604', EntityNotFound.INVALID_ID @ operations[6].operand.criterion; trigger:'20121']</message> <ApplicationException.Type>ApiException</ ApplicationException.Type> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[0].operand.criterion</fieldPath> <trigger>1004</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="CampaignCriterionError"> <fieldPath>operations[1].operand.criterion</fieldPath> <trigger>30001</trigger> <errorString>CampaignCriterionError.CANNOT_EXCLUDE_PLATFORM_CRITERION</ errorString> <ApiError.Type>CampaignCriterionError</ApiError.Type> <reason>CANNOT_EXCLUDE_PLATFORM_CRITERION</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[2].operand.criterion</fieldPath> <trigger>1002451</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[3].operand.criterion</fieldPath> <trigger>1002376</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[4].operand.criterion</fieldPath> <trigger>200514</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[5].operand.criterion</fieldPath> <trigger>1002604</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:type="EntityNotFound"> <fieldPath>operations[6].operand.criterion</fieldPath> <trigger>20121</trigger> <errorString>EntityNotFound.INVALID_ID</errorString> <ApiError.Type>EntityNotFound</ApiError.Type> <reason>INVALID_ID</reason> </errors> </ApiExceptionFault> </detail> </soap:Fault> </soap:Body> </soap:Envelope> ************************************************************************ -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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