Has anyone else seen a "500 Internal Server Error" when using the API
with Perl SOAP? I am having no problems with most of the commands I
have tried, but when I try to modify a Campaign geoTargeting, I get 500
Internal Server Error with no other explaination. I appreciate any
help. Here is the request and response (with login credentials
removed):
POST https://adwords.google.com/api/adwords/v2/CampaignService HTTP/1.1
Accept: text/xml
Accept: multipart/*
Content-Length: 1522
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:namesp3="http://namespaces.soaplite.com/perl"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><impl:email
xmlns:impl="https://adwords.google.com/api/adwords/v2">removed</impl:email><impl:password
xmlns:impl="https://adwords.google.com/api/adwords/v2">removed</impl:password><impl:useragent
xmlns:impl="https://adwords.google.com/api/adwords/v2">Perl
SOAP</impl:useragent><impl:token
xmlns:impl="https://adwords.google.com/api/adwords/v2">removed</impl:token></SOAP-ENV:Header><SOAP-ENV:Body><namesp2:updateCampa ign
xmlns:namesp2="https://adwords.google.com/api/adwords/v2"><parameters
xsi:type="namesp3"><geoTargeting><metros
SOAP-ENC:arrayType="xsd:ur-type[3]">
<item>642</item><item>644</item><item>612</item></metros></geoTargeting>
<status>Paused</status><optInSearchNetwork>true</optInSearchNetwork>
<name>C897_creativepayroll_DMA_V1</name>
<optInContentNetwork>false</optInContentNetwork>
<languageTargeting><languages>en</languages></languageTargeting>
<dailyBudget>34300000</dailyBudget><endDate>2011-01-01T07:59:59.000Z</endDa te>
<id>4705112</id>
<startDate>2004-11-05T02:35:43.000Z</startDate></parameters>
</namesp2:updateCampaign></SOAP-ENV:Body></SOAP-ENV:Envelope>
=====================================================================
HTTP/1.1 500 Internal Server Error
Cache-Control: private
Connection: Close
Date: Fri, 11 Mar 2005 18:45:27 GMT
Server: GFE/1.3
Content-Type: text/xml; charset=utf-8
Client-Date: Fri, 11 Mar 2005 18:45:26 GMT
Client-Peer: 66.102.7.112:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=ZA/ST=Western Cape/L=Cape Town/O=Thawte
Consulting cc/OU=Certification Services Division/CN=Thawte Server
CA/emailAddress=server-ce...@thawte.com
Client-SSL-Cert-Subject: /C=US/ST=California/L=Mountain View/O=Google
Inc/CN=adwords.google.com
Client-SSL-Cipher: AES256-SHA
Client-SSL-Warning: Peer certificate not verified
Client-Transfer-Encoding: chunked
<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:Body><soapenv:Fault><faultcode>soapenv:Server.userException</fau ltcode><faultstring>org.xml.sax.SAXException:
No deserializer defined for array type
{http://www.w3.org/1999/XMLSchema}ur-type</faultstring><detail><ns1:stackTrace
xmlns:ns1="http://xml.apache.org/axis/">org.xml.sax.SAXException: No
deserializer defined for array type
{http://www.w3.org/1999/XMLSchema}ur-type
at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeserial izer.java:267)
at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.jav a:399)
at
org.apache.axis.encoding.DeserializationContext.startElement(Deserializatio nContext.java:1038)
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
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.HttpConnection.runServlet(HttpConnection.java:363)
at com.google.gse.HttpConnection.run(HttpConnection.java:313)
at
com.google.gse.DispatchQueue$WorkerThread.run(DispatchQueue.java:219)
</ns1:stackTrace></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope >
SOAP Fault: org.xml.sax.SAXException: No deserializer defined for array
type {http://www.w3.org/1999/XMLSchema}ur-type for input "" (Error Code
)