java.lang.IllegalArgumentException: Can not set long field

1,550 views
Skip to first unread message

mike...@gmail.com

unread,
Feb 13, 2009, 1:04:37 PM2/13/09
to AdWords API Forum
I keep receiving this long extended java error message, it's driving
me nuts. I cannot possibly figure this out either, I interface
directly with the API with NuSOAP and php on a custom built platform
using the API interface. I can't seem to figure out, I see the
relation to "adGroupId" but I do not set that, google's API returns
that to me. So how would I fix this? Or should I report a bug?

Error Below.
Fault: 1
Code: soapenv:Server.userException
String: java.lang.IllegalArgumentException: Can not set long field
com.google.ads.netapi.services.datamodel.Criterion.adGroupId to null
value
Detail: HTTP/1.1 500 Internal Server Error Content-Type: text/xml;
charset=iso-8859-1 Date: Thu, 12 Feb 2009 21:14:28 GMT X-Content-Type-
Options: nosniff Expires: Thu, 12 Feb 2009 21:14:28 GMT Cache-Control:
private, max-age=0 Content-Length: 5318 Server: GFE/1.3 Connection:
Close 30 0 0 718bcfc192ed4602b7918a96c632aede
soapenv:Server.userException java.lang.IllegalArgumentException: Can
not set long field
com.google.ads.netapi.services.datamodel.Criterion.adGroupId to null
value java.lang.IllegalArgumentException: Can not set long field
com.google.ads.netapi.services.datamodel.Criterion.adGroupId to null
value at
sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException
(Unknown Source) at
sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException
(Unknown Source) at sun.reflect.UnsafeLongFieldAccessorImpl.set
(Unknown Source) at java.lang.reflect.Field.set(Unknown Source) at
org.apache.axis.utils.FieldPropertyDescriptor.set
(FieldPropertyDescriptor.java:99) at
com.google.ads.netapi.config.VersionedBeanPropertyDescriptor.set
(VersionedBeanPropertyDescriptor.java:114) at
org.apache.axis.encoding.ser.BeanPropertyTarget.set
(BeanPropertyTarget.java:75) at
org.apache.axis.encoding.DeserializerImpl.valueComplete
(DeserializerImpl.java:255) at
org.apache.axis.encoding.DeserializerImpl.endElement
(DeserializerImpl.java:515) at
org.apache.axis.encoding.DeserializationContext.endElement
(DeserializationContext.java:1077) at
org.apache.axis.message.SAX2EventRecorder.replay
(SAX2EventRecorder.java:165) at
org.apache.axis.message.MessageElement.publishToHandler
(MessageElement.java:1138) at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:199) at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:342) at
org.apache.axis.providers.java.RPCProvider.processMessage
(RPCProvider.java:146) at
com.google.ads.netapi.config.AdWordsApiProvider.processMessage
(AdWordsApiProvider.java:62) at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
319) at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting
(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke
(SimpleChain.java:83) at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285) at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:
637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at org.apache.axis.transport.http.AxisServletBase.service
(AxisServletBase.java:301) at javax.servlet.http.HttpServlet.service
(HttpServlet.java:802) at com.google.gse.FilteredServlet
$ChainEnd.doFilter(FilteredServlet.java:172) at
com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:46) at
com.google.gse.FilteredServlet$Chain.doFilter(FilteredServlet.java:
149) at com.google.soap.base.LoggingFilter.doFilter(LoggingFilter.java:
142) at com.google.gse.FilteredServlet$Chain.doFilter
(FilteredServlet.java:149) at
com.google.servlet.balancing.LoadBalancingFilter.processRequestLocally
(LoadBalancingFilter.java:405) at
com.google.servlet.balancing.LoadBalancingFilter.loadBalanceRequest
(LoadBalancingFilter.java:214) at
com.google.servlet.balancing.LoadBalancingFilter.doFilter
(LoadBalancingFilter.java:161) at com.google.gse.FilteredServlet
$Chain.doFilter(FilteredServlet.java:149) at
com.google.gse.FilteredServlet.service(FilteredServlet.java:120) at
com.google.gse.HttpConnection.runServletFromWithinSpan
(HttpConnection.java:756) at com.google.gse.HttpConnection.access$000
(HttpConnection.java:59) at com.google.gse.HttpConnection
$1.runServletFromWithinSpan(HttpConnection.java:696) at
com.google.gse.GSETraceHelper$TraceableServletRunnable$1.run
(GSETraceHelper.java:391) at
com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56) at
com.google.tracing.LocalTraceSpanBuilder.run
(LocalTraceSpanBuilder.java:437) at com.google.gse.GSETraceHelper
$TraceableServletRunnable.runWithTracingEnabled(GSETraceHelper.java:
346) at com.google.gse.GSETraceHelper$TraceableServletRunnable.run
(GSETraceHelper.java:329) at com.google.gse.HttpConnection.runServlet
(HttpConnection.java:692) at com.google.gse.HttpConnection.run
(HttpConnection.java:662) at com.google.gse.DispatchQueue
$WorkerThread.run(DispatchQueue.java:354) true

AdWords API Advisor

unread,
Feb 13, 2009, 1:43:01 PM2/13/09
to AdWords API Forum
Can you post a log of the outgoing SOAP request you're making (with
your confidential token and password information X-ed out)? It looks
like you're making some sort of call that requires an AdGroup object,
and you're setting the id of that object to null (rather than leaving
out the id field, or setting it to a long) and that's causing the
exception. Looking at the SOAP request would confirm this.

Cheers,
-Jeff Posnick, AdWords API Team

mike...@gmail.com

unread,
Feb 13, 2009, 2:29:42 PM2/13/09
to AdWords API Forum
Ah, It might be caused by a loop, I forgot to add a check in to make
sure it returned a group ID before continuing. But most of the time I
only get that error and never a faultstring for the actual error.

-Ryan



On Feb 13, 10:43 am, AdWords API Advisor
Reply all
Reply to author
Forward
0 new messages