Hello Michael, I'm not aware of any general error with using updateCriteria() when there are both keywords and placements in your ad group. The stack trace you're getting suggests that the XML deserializer on our server is having trouble processing the XML you're sending in.
If you take a look at the SOAP headers in the response message that contains that stack trace, do you see a requestId header? If so, could you tell me what the value of it is? I should be able to find your SOAP request in our logs with the requestId and will have a better idea as to what the deserializer is having problems processing. Cheers, -Jeff Posnick, AdWords API Team On Apr 14, 3:33 pm, Michael Mata <michaelvm...@gmail.com> wrote: > Is there an issue with calling updateCriteria on the criterion list of > an adgroup containing a placement ad and keyword? > > To produce the problem I'm seeing: > > Pull criterion list with call to getAllCriteria. Pass the the very > same unmodified criterion list back to updateCriteria. In response, > the stack trace below is returned. > > <ns1:stackTrace xmlns:ns1="http://xml.apache.org/ > axis/">org.xml.sax.SAXException: operation description is missing > parameter description! > at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java: > 202) > at org.apache.axis.encoding.DeserializationContext.startElement > (DeserializationContext.java:1025) > at org.apache.axis.message.SAX2EventRecorder.replay > (SAX2EventRecorder.java:159) > 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.DefaultFilterPipeline.dispatch > (DefaultFilterPipeline.java:43) > at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java: > 110) > 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:797) > at com.google.gse.HttpConnection.access$000(HttpConnection.java:62) > at com.google.gse.HttpConnection$1.runServletFromWithinSpan > (HttpConnection.java:726) > at com.google.gse.GSETraceHelper$TraceableServletRunnable$1.run > (GSETraceHelper.java:377) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.run > (LocalTraceSpanBuilder.java:466) > at com.google.gse.GSETraceHelper > $TraceableServletRunnable.runWithTracingEnabled(GSETraceHelper.java: > 344) > at com.google.gse.GSETraceHelper$TraceableServletRunnable.run > (GSETraceHelper.java:327) > at com.google.gse.HttpConnection.runServlet(HttpConnection.java:722) > at com.google.gse.HttpConnection.run(HttpConnection.java:690) > at com.google.gse.DispatchQueue$WorkerThread.run(DispatchQueue.java: > 354) > </ns1:stackTrace> --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---