Hello Michael,

 Your updateCriteria() call is using bad parameters. How are you
making your SOAP calls--are you using a client library, generating
your own classes with a SOAP toolkit, or constructing your SOAP XML by
hand?

 The serialized XML in a valid updateCriteria() request should look
something like

  <SOAP-ENV:Body>
    <updateCriteria>
      <criteria xsi:type="Website">
        <!--criteria properties...-->
      </criteria>
      <criteria xsi:type="Keyword">
        <!--criteria properties...-->
      </criteria>
    </updateCriteria>
  </SOAP-ENV:Body>

The serialized XML you're sending looks like

  <SOAP-ENV:Body>
    <updateCriteria>
      <Website xsi:type="Website">
        <!--criteria properties...-->
      </Website>
      <Keyword xsi:type="Keyword">
        <!--criteria properties...-->
      </Keyword>
    </updateCriteria>
  </SOAP-ENV:Body>

Cheers,
-Jeff Posnick, AdWords API Team


On Apr 15, 3:05 pm, Michael Mata <[email protected]> wrote:
> Hi Jeff,
>
> The requestId header: <requestId soapenv:actor="http://
> schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0"
> xmlns="https://adwords.google.com/api/adwords/
> v13">e00635c7b1f35dd2f1596cda33b10309</requestId>
>
> On Apr 15, 8:31 am, AdWords API Advisor <[email protected]>
> wrote:
>
> > 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 <[email protected]> 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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to