stringLengthError.TOO_LONG

202 views
Skip to first unread message

Eshwar Chettri

unread,
Nov 4, 2016, 8:46:21 AM11/4/16
to AdWords API Forum
Hi all,
 when I'am trying to add new campaign its showing an exception like stringLengthError.TOO_LONG


here is the code.

removeReadOnlyParameters(cmpOperation);
            int operLength = cmpOperation.length;
            int count = 0;
            int operCount = 0;
            CampaignOperation[] operation = new CampaignOperation[2000];
            for (int k = 0; k < operLength; k++) {
                operation[count] = cmpOperation[k];
                count++;
                operCount++;
                if (count == 2000 || operCount == operLength) {
                    GleExceptionHandler handler = new GleExceptionHandler(gleSer, GleServices.CAMPAIGN_SERVICE);
                    CampaignReturnValue adGrpRetVal = (CampaignReturnValue) handler.mutateOperations(operation);
                  public ListReturnValue mutate(Operation[]  operations) throws Exception{
        ListReturnValue response = null;
        try {
                Object service = gleSer.getService(serviceId);
                switch (serviceId) {
                case GleServices.CAMPAIGN_SERVICE:
                    CampaignReturnValue cmpRes = ((CampaignServiceInterface)service).mutate((CampaignOperation[])operations);
                    return cmpRes; }
                   Campaign[] adCri = adGrpRetVal.getValue();
                    int length = adCri.length;
                    for (int p = 0; p < length; p++) {
                        al.add(adCri[p]);
                    }
                    count = 0;
                    operation = new CampaignOperation[2000];
                }
            }
            return (Campaign[]) al.toArray(new Campaign[al.size()]);


 Exception is:

AxisFault
 faultSubcode: 
 faultString: [StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[0].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[1].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[2].key]
 faultActor: 
 faultNode: 
 faultDetail: 
{https://adwords.google.com/api/adwords/cm/v201607}ApiExceptionFault:<message>[StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[0].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[1].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[2].key]</message><ApplicationException.Type>ApiException</ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="StringLengthError"><fieldPath>operations[0].operand.urlCustomParameters.parameters[0].key</fieldPath><trigger/><errorString>StringLengthError.TOO_LONG</errorString><ApiError.Type>StringLengthError</ApiError.Type><reason>TOO_LONG</reason></errors><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="StringLengthError"><fieldPath>operations[0].operand.urlCustomParameters.parameters[1].key</fieldPath><trigger/><errorString>StringLengthError.TOO_LONG</errorString><ApiError.Type>StringLengthError</ApiError.Type><reason>TOO_LONG</reason></errors><errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="StringLengthError"><fieldPath>operations[0].operand.urlCustomParameters.parameters[2].key</fieldPath><trigger/><errorString>StringLengthError.TOO_LONG</errorString><ApiError.Type>StringLengthError</ApiError.Type><reason>TOO_LONG</reason></errors>

[StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[0].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[1].key, StringLengthError.TOO_LONG @ operations[0].operand.urlCustomParameters.parameters[2].key]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
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.v201607.cm.ApiException.getDeserializer(ApiException.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
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:509)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
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.v201607.cm.CampaignServiceSoapBindingStub.mutate(CampaignServiceSoapBindingStub.java:1420)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
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:248)
at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:62)
at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:92)
at com.sun.proxy.$Proxy48.mutate(Unknown Source)
at com.netelixir.api.google.GleExceptionHandler.mutate(GleExceptionHandler.java:137)
at com.netelixir.api.google.GleExceptionHandler.mutateOperations(GleExceptionHandler.java:111)
at com.netelixir.lxr.collections.LxrGleCampaignInf.mutateCampaigninGoogle(LxrGleCampaignInf.java:741)
at com.netelixir.lxr.collections.LxrGleCampaignInf.insert(LxrGleCampaignInf.java:815)
at com.netelixir.api.google.struts.AddCmpAct.execute(AddCmpAct.java:412)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Vishal Vinayak (Adwords API Team)

unread,
Nov 4, 2016, 3:59:11 PM11/4/16
to AdWords API Forum
Hi Eshwar,

The length of the key field should be between 1 and 16 characters. Looks like you might be using a string value which exceeds this limit. Could you please check and let me know if that is indeed the case? If not, could you also provide me with the SOAP XML for the request part of the API call? From the API response and error message, my guess, in that case, would be that you might be violating one of the system limits with one or more parameters used in the creation of the campaign. 

Regards,
Vishal, AdWords API Team
Reply all
Reply to author
Forward
0 new messages