Hello Gordon,
Thanks, I was able to look up your requests and the associated
exception that prevents them from completing.
From what I can see and having run some requests of my own, the
internal error is being thrown because your <geoTargeting> element in
the SOAP request looks like:
<geoTargeting>
<countryTargets/>
<regionTargets/>
<metroTargets/>
<cityTargets/>
<proximityTargets>
<circles>
<latitudeMicroDegrees>51602000</latitudeMicroDegrees>
<longitudeMicroDegrees>226000</longitudeMicroDegrees>
<radiusMeters>45000</radiusMeters>
</circles>
</proximityTargets>
</geoTargeting>
<geoTargeting> is defined in the WSDL as a <sequence>:
<sequence>
<element name="cityTargets" minOccurs="0" type="impl:CityTargets"/
>
<element name="countryTargets" minOccurs="0"
type="impl:CountryTargets"/>
<element name="metroTargets" minOccurs="0"
type="impl:MetroTargets"/>
<element name="proximityTargets" minOccurs="0"
type="impl:ProximityTargets"/>
<element name="regionTargets" minOccurs="0"
type="impl:RegionTargets"/>
<element name="targetAll" type="xsd:boolean"/>
</sequence>
Our SOAP servers are apparently strict about the order in which the
elements in this sequence can appear (which is technically the right
thing to do, but I don't think we're as strict elsewhere). So in any
case, your request XML should either include the elements in the order
in which they're defined in the sequence, or leave out the elements
that are empty anyway. You probably don't have control over the
ordering (I'm assuming you're using a client library that generates
the XML), but perhaps you're explicitly setting the countryTargets,
etc. elements to an empty value? Could you let us know which client
library you're using and what the code relating to geotargeting looks
like?
Cheers,
-Jeff Posnick, AdWords API Team