Hi, I can't update a couple of budgets of one of our customers (I have only a refresh token), it fails with an undocumented error BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM, at least I couldn't find it.
What does it mean? Thanks [http-bio-5050-exec-7] WARN com.google.api.ads.adwords.lib.client.AdWordsServiceClient.requestInfoLogger - Request made: Service: BudgetService Method: mutate clientCustomerId: XXXXXX URL: https://adwords.google.com/api/adwords/cm/v201710/BudgetService Request ID: 00056a6a1f8274100a379a113f01f938 ResponseTime(ms): 191 OperationsCount: 1 IsFault: true FaultMessage: ApiException{applicationExceptionType=ApiException, errors=[BudgetError{apiErrorType=BudgetError, errorString=BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM, fieldPath=operations[0].operand.amount, fieldPathElements=[FieldPathElement{field=operations, index=0}, FieldPathElement{field=operand}, FieldPathElement{field=amount}], reason=BUDGET_ERROR, trigger=}]} [http-bio-5050-exec-7] INFO com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - SOAP request: <?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/v201710" soapenv:mustUnderstand="0"> <ns1:clientCustomerId>XXXXXXXX</ns1:clientCustomerId> <ns1:developerToken>REDACTED</ns1:developerToken> <ns1:userAgent>XXXXX (AwApi-Java, AdWords-Axis/3.10.0, Common-Java/3.10.0, Axis/1.4, Java/1.8.0_152, 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/v201710"> <operations> <operator>SET</operator> <operand> <budgetId>XXXXXXX</budgetId> <amount> <microAmount>1000000</microAmount> </amount> </operand> </operations> </mutate> </soapenv:Body> </soapenv:Envelope> [http-bio-5050-exec-7] INFO com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger - 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/v201710"> <requestId>00056a6a1f8274100a379a113f01f938</requestId> <serviceName>BudgetService</serviceName> <methodName>mutate</methodName> <operations>1</operations> <responseTime>191</responseTime> </ResponseHeader> </soap:Header> <soap:Body> <soap:Fault> <faultcode>soap:Client</faultcode> <faultstring>[BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM @ operations[0].operand.amount]</faultstring> <detail> <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/cm/v201710"> <message>[BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM @ operations[0].operand.amount]</message> <ApplicationException.Type>ApiException</ApplicationException.Type> <errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="BudgetError"> <fieldPath>operations[0].operand.amount</fieldPath> <fieldPathElements> <field>operations</field> <index>0</index> </fieldPathElements> <fieldPathElements> <field>operand</field> </fieldPathElements> <fieldPathElements> <field>amount</field> </fieldPathElements> <trigger/> <errorString>BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM</errorString> <ApiError.Type>BudgetError</ApiError.Type> <reason>BUDGET_ERROR</reason> </errors> </ApiExceptionFault> </detail> </soap:Fault> </soap:Body> </soap:Envelope> AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client faultSubcode: faultString: [BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM @ operations[0].operand.amount] faultActor: faultNode: faultDetail: {https://adwords.google.com/api/adwords/cm/v201710}ApiExceptionFault:<message>[BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM @ operations[0].operand.amount]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="BudgetError"><fieldPath>operations[0].operand.amount</fieldPath><fieldPathElements><field>operations</field><index>0</index></fieldPathElements><fieldPathElements><field>operand</field></fieldPathElements><fieldPathElements><field>amount</field></fieldPathElements><trigger/><errorString>BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM</errorString><ApiError.Type>BudgetError</ApiError.Type><reason>BUDGET_ERROR</reason></errors> ApiException{applicationExceptionType=ApiException, errors=[BudgetError{apiErrorType=BudgetError, errorString=BudgetError.BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_CUSTOM, fieldPath=operations[0].operand.amount, fieldPathElements=[FieldPathElement{field=operations, index=0}, FieldPathElement{field=operand}, FieldPathElement{field=amount}], reason=BUDGET_ERROR, trigger=}]} at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance(Unknown Source) 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.v201710.cm.ApiException.getDeserializer(ApiException.java:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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 org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) 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.v201710.cm.BudgetServiceSoapBindingStub.mutate(BudgetServiceSoapBindingStub.java:851) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:100) at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:234) at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:63) at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:93) at com.sun.proxy.$Proxy36.mutate(Unknown Source) -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and Google+: https://googleadsdeveloper.blogspot.com/ https://plus.google.com/+GoogleAdsDevelopers/posts =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] 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 [email protected]. Visit this group at https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/66af315e-a775-4069-8085-28a195a8221c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
