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.
  • Undocumented... dima
    • Re: Und... 'Milind Sankeshware (AdWords API Team)' via AdWords API Forum

Reply via email to