Hello Jeremy,

I tried to reproduce this in several configurations but was able to get 
this error only when removing an ad which is already in state "DISABLED".

Please double-check the status before removal, and the fact the request is 
sent only once. If you can provide exact steps to reproduce the issue, 
please send us requests for the full sequence (starting with adding an ad).


-Danial, AdWords API Team.



On Wednesday, August 28, 2013 4:46:19 PM UTC+4, Jeremy Aube wrote:
>
> As far as I can tell the ads were both active. In the interface there are 
> two ads before the request is made, and after there are still two ads, but 
> the destination URLs have been updated.
>
> We've also tried just deleting the ads and we get the same error, after 
> which the ads are both delete in the interface. So we seem to have the 
> right ads since they're getting deleted, but we still get that error 
> message for them.
>
> On Wednesday, August 28, 2013 6:44:56 AM UTC-4, Danial Klimkin wrote:
>>
>> Hello Jeremy,
>>
>>
>> This error is expected if you try to "delete" an already-deleted ad. Are 
>> you sure both ads were active before this request?
>>
>>
>> -Danial, AdWords API Team.
>>
>>
>> On Wednesday, August 21, 2013 10:02:33 PM UTC+4, Jeremy Aube wrote:
>>>
>>> We've started getting AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD 
>>> errors whenever updating ads. The update still works, but the error is 
>>> disconcerting. 
>>>
>>> Any idea why this is happening? Here's the log:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <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>
>>>         <ns1:RequestHeader xmlns:ns1="
>>> https://adwords.google.com/api/adwords/cm/v201306"; 
>>> soapenv:mustUnderstand="0">
>>>             <ns1:clientCustomerId>460-887-8120</ns1:clientCustomerId>
>>>             <ns1:developerToken>****</ns1:developerToken>
>>>             <ns1:userAgent>INSERT_USERAGENT_HERE (AwApi-Java, 
>>> AdWords-Axis/1.18.1, Common-Java/1.18.1, Axis/1.4, Java/1.6.0_51, 
>>> maven)</ns1:userAgent>
>>>             <ns1:validateOnly>false</ns1:validateOnly>
>>>             <ns1:partialFailure>false</ns1:partialFailure>
>>>         </ns1:RequestHeader>
>>>     </soapenv:Header>
>>>     <soapenv:Body>
>>>         <mutate xmlns="https://adwords.google.com/api/adwords/cm/v201306
>>> ">
>>>             <operations>
>>>                 <operator>REMOVE</operator>
>>>                 <operand>
>>>                     <adGroupId>7081656796</adGroupId>
>>>                     <ad xmlns:ns2="
>>> https://adwords.google.com/api/adwords/cm/v201306"; 
>>> xsi:type="ns2:TextAd">
>>>                         <ns2:id>26524386916</ns2:id>
>>>                     </ad>
>>>                 </operand>
>>>             </operations>
>>>             <operations>
>>>                 <operator>ADD</operator>
>>>                 <operand>
>>>                     <adGroupId>7081656796</adGroupId>
>>>                     <ad xmlns:ns3="
>>> https://adwords.google.com/api/adwords/cm/v201306"; 
>>> xsi:type="ns3:TextAd">
>>>                         <ns3:url>http://www.purple.com/?****</ns3:url>
>>>                         <ns3:displayUrl>www.purple.com/</ns3:displayUrl>
>>>                         <ns3:Ad.Type>TextAd</ns3:Ad.Type>
>>>                         <ns3:headline>Excessive 
>>> Capitalization</ns3:headline>
>>>                         <ns3:description1>Desc 1</ns3:description1>
>>>                         <ns3:description2>Desc 2</ns3:description2>
>>>                     </ad>
>>>                     <status>ENABLED</status>
>>>                     <approvalStatus>FAMILY_SAFE</approvalStatus>
>>>                     <trademarkDisapproved>false</trademarkDisapproved>
>>>                     <stats>
>>>                         <network>SEARCH</network>
>>>                         <Stats.Type>AdStats</Stats.Type>
>>>                         <percentServed>0.0</percentServed>
>>>                     </stats>
>>>                 </operand>
>>>             </operations>
>>>             <operations>
>>>                 <operator>REMOVE</operator>
>>>                 <operand>
>>>                     <adGroupId>7081656796</adGroupId>
>>>                     <ad xmlns:ns4="
>>> https://adwords.google.com/api/adwords/cm/v201306"; 
>>> xsi:type="ns4:TextAd">
>>>                         <ns4:id>26524387036</ns4:id>
>>>                     </ad>
>>>                 </operand>
>>>             </operations>
>>>             <operations>
>>>                 <operator>ADD</operator>
>>>                 <operand>
>>>                     <adGroupId>7081656796</adGroupId>
>>>                     <ad xmlns:ns5="
>>> https://adwords.google.com/api/adwords/cm/v201306"; 
>>> xsi:type="ns5:TextAd">
>>>                         <ns5:url>http://www.purple.com/?****</ns5:url>
>>>                         <ns5:displayUrl>www.purple.com/</ns5:displayUrl>
>>>                         
>>> <ns5:devicePreference>30001</ns5:devicePreference>
>>>                         <ns5:Ad.Type>TextAd</ns5:Ad.Type>
>>>                         <ns5:headline>Excessive 
>>> Capitalization</ns5:headline>
>>>                         <ns5:description1>Desc 1 - M</ns5:description1>
>>>                         <ns5:description2>Desc 2 - M</ns5:description2>
>>>                     </ad>
>>>                     <status>ENABLED</status>
>>>                     <approvalStatus>FAMILY_SAFE</approvalStatus>
>>>                     <trademarkDisapproved>false</trademarkDisapproved>
>>>                     <stats>
>>>                         <network>SEARCH</network>
>>>                         <Stats.Type>AdStats</Stats.Type>
>>>                         <percentServed>0.0</percentServed>
>>>                     </stats>
>>>                 </operand>
>>>             </operations>
>>>         </mutate>
>>>     </soapenv:Body>
>>> </soapenv:Envelope>
>>>
>>> [21 Aug 2013 13:51:57,633-soapXmlLogger:WARN:AWT-EventQueue-0] SOAP 
>>> Response:
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>>     <soap:Header>
>>>         <ResponseHeader xmlns="
>>> https://adwords.google.com/api/adwords/cm/v201306";>
>>>             <requestId>0004e478d407a9780ae5ed0a00004061</requestId>
>>>             <serviceName>AdGroupAdService</serviceName>
>>>             <methodName>mutate</methodName>
>>>             <operations>4</operations>
>>>             <responseTime>248</responseTime>
>>>         </ResponseHeader>
>>>     </soap:Header>
>>>     <soap:Body>
>>>         <soap:Fault>
>>>             <faultcode>soap:Server</faultcode>
>>>             
>>> <faultstring>[AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[0].operand, AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[2].operand]</faultstring>
>>>             <detail>
>>>                 <ApiExceptionFault xmlns="
>>> https://adwords.google.com/api/adwords/cm/v201306";>
>>>                     
>>> <message>[AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[0].operand, AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[2].operand]</message>
>>>                     
>>> <ApplicationException.Type>ApiException</ApplicationException.Type>
>>>                     <errors xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"; xsi:type="AdGroupAdError">
>>>                         <fieldPath>operations[0].operand</fieldPath>
>>>                         <trigger/>
>>>                         
>>> <errorString>AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD</errorString>
>>>                         <ApiError.Type>AdGroupAdError</ApiError.Type>
>>>                         
>>> <reason>CANNOT_OPERATE_ON_DELETED_ADGROUPAD</reason>
>>>                     </errors>
>>>                     <errors xmlns:xsi="
>>> http://www.w3.org/2001/XMLSchema-instance"; xsi:type="AdGroupAdError">
>>>                         <fieldPath>operations[2].operand</fieldPath>
>>>                         <trigger/>
>>>                         
>>> <errorString>AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD</errorString>
>>>                         <ApiError.Type>AdGroupAdError</ApiError.Type>
>>>                         
>>> <reason>CANNOT_OPERATE_ON_DELETED_ADGROUPAD</reason>
>>>                     </errors>
>>>                 </ApiExceptionFault>
>>>             </detail>
>>>         </soap:Fault>
>>>     </soap:Body>
>>> </soap:Envelope>
>>>
>>> AxisFault
>>>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
>>>  faultSubcode: 
>>>  faultString: [AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[0].operand, AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[2].operand]
>>>  faultActor: 
>>>  faultNode: 
>>>  faultDetail: 
>>> {https://adwords.google.com/api/adwords/cm/v201306}ApiExceptionFault:<message>[AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD
>>>  
>>> @ operations[0].operand, AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD 
>>> @ 
>>> operations[2].operand]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors
>>>  
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>>> xsi:type="AdGroupAdError"><fieldPath>operations[0].operand</fieldPath><trigger/><errorString>AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD</errorString><ApiError.Type>AdGroupAdError</ApiError.Type><reason>CANNOT_OPERATE_ON_DELETED_ADGROUPAD</reason></errors><errors
>>>  
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
>>> xsi:type="AdGroupAdError"><fieldPath>operations[2].operand</fieldPath><trigger/><errorString>AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD</errorString><ApiError.Type>AdGroupAdError</ApiError.Type><reason>CANNOT_OPERATE_ON_DELETED_ADGROUPAD</reason></errors>
>>>
>>> [AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[0].operand, AdGroupAdError.CANNOT_OPERATE_ON_DELETED_ADGROUPAD @ 
>>> operations[2].operand]
>>> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>> at 
>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>> at 
>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>> at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>> at java.lang.Class.newInstance0(Class.java:357)
>>> at java.lang.Class.newInstance(Class.java:310)
>>> at 
>>> org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
>>> at 
>>> org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
>>> at 
>>> com.google.api.ads.adwords.axis.v201306.cm.ApiException.getDeserializer(ApiException.java:143)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at 
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at 
>>> org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
>>> at 
>>> org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
>>> at 
>>> org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
>>> at 
>>> org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
>>> at 
>>> org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
>>> at 
>>> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
>>> at 
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
>>> at 
>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
>>> at 
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
>>> at 
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
>>> at 
>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>>> at 
>>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
>>> at 
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
>>> at 
>>> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
>>> at 
>>> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
>>> at 
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
>>> at 
>>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
>>> at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
>>> at 
>>> org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
>>> at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
>>> at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
>>> at 
>>> org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
>>> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
>>> at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
>>> at org.apache.axis.client.Call.invoke(Call.java:2767)
>>> at org.apache.axis.client.Call.invoke(Call.java:2443)
>>> at org.apache.axis.client.Call.invoke(Call.java:2366)
>>> at org.apache.axis.client.Call.invoke(Call.java:1812)
>>> at 
>>> com.google.api.ads.adwords.axis.v201306.cm.AdGroupAdServiceSoapBindingStub.mutate(AdGroupAdServiceSoapBindingStub.java:1248)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at 
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at 
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at 
>>> com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:109)
>>> at 
>>> com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:175)
>>> at 
>>> com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:64)
>>> at 
>>> com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:93)
>>> at com.sun.proxy.$Proxy22.mutate(Unknown Source)
>>>
>>>
>>>
>>>

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

--- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to