Setting Location in SOAP gives me "Invalid content was found starting with element 'locationName'"

78 views
Skip to first unread message

Fred Cohen

unread,
Sep 4, 2017, 4:03:41 AM9/4/17
to AdWords API Forum
Here is my SOAP request. How can i set the location to United Kingdom and the county to Norfolk


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201708" xmlns:ns2="https://adwords.google.com/api/adwords/o/v201708" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
<SOAP-ENV:Header>
   
<ns2:RequestHeader xsi:type="ns1:RequestHeader">
     
<ns1:developerToken>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</ns1:developerToken>
     
<ns1:clientCustomerId>XXXXXXXX</ns1:clientCustomerId>
     
<ns1:userAgent>kaketest</ns1:userAgent>
   
</ns2:RequestHeader>
 
</SOAP-ENV:Header>
 
<SOAP-ENV:Body>
     
<get xmlns="https://adwords.google.com/api/adwords/o/v201708">
   
<selector>
         
<searchParameters xsi:type="RelatedToQuerySearchParameter">
           
<queries>debt management</queries>
           
<queries>debt questions</queries>
       
</searchParameters>
<searchParameters xsi:type="LocationSearchParameter">
           
<locations>
 
<locationName>
 
<Country>United Kingdom</Country>
 
</locationName>
 
</locations>
       
</searchParameters>
                   
<ideaType>KEYWORD</ideaType>
           
<requestType>STATS</requestType>
           
<requestedAttributeTypes>KEYWORD_TEXT</requestedAttributeTypes>
           
<requestedAttributeTypes>SEARCH_VOLUME</requestedAttributeTypes>
           
<requestedAttributeTypes>TARGETED_MONTHLY_SEARCHES</requestedAttributeTypes>
           
<requestedAttributeTypes>CATEGORY_PRODUCTS_AND_SERVICES</requestedAttributeTypes>
           
<requestedAttributeTypes>COMPETITION</requestedAttributeTypes>
       
<paging>
           
<startIndex xmlns="https://adwords.google.com/api/adwords/cm/v201708">0</startIndex>
           
<numberResults xmlns="https://adwords.google.com/api/adwords/cm/v201708">10</numberResults>
       
</paging>
   
</selector>
   
</get>
 
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>



Thanks

Vincent Racaza (AdWords API Team)

unread,
Sep 4, 2017, 4:44:57 AM9/4/17
to AdWords API Forum
Hi Fred,

Kindly use the id of the location instead of the location name in your LocationSearchParameter. You can get the Criteria ID using this link or using LocationCriterionService. So, for United Kingdom, the ID is 2826, while for Norfok, the ID is 9041117. Kindly refer below for the sample SOAP request snippet of the TarrgetingIdeaService:

<soapenv:Body>

   
<get xmlns="https://adwords.google.com/api/adwords/o/v201708">
       
<selector>

           
<searchParameters xmlns:ns7="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns7:RelatedToQuerySearchParameter">
               
<ns7:queries>mars cruise</ns7:queries>
               
<ns7:queries>jupiter cruise</ns7:queries>
           
</searchParameters>
           
<searchParameters xmlns:ns8="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns8:LocationSearchParameter">
               
<ns8:locations>
                   
<ns9:id xmlns:ns9="https://adwords.google.com/api/adwords/cm/v201708">2826</ns9:id>
               
</ns8:locations>
               
<ns8:locations>
                   
<ns10:id xmlns:ns10="https://adwords.google.com/api/adwords/cm/v201708">9041117</ns10:id>
               
</ns8:locations>
           
</searchParameters>

           
<searchParameters xmlns:ns11="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns11:NetworkSearchParameter">
               
<ns11:networkSetting>
                   
<ns12:targetGoogleSearch xmlns:ns12="https://adwords.google.com/api/adwords/cm/v201708">true</ns12:targetGoogleSearch>
                   
<ns13:targetSearchNetwork xmlns:ns13="https://adwords.google.com/api/adwords/cm/v201708">false</ns13:targetSearchNetwork>
                   
<ns14:targetContentNetwork xmlns:ns14="https://adwords.google.com/api/adwords/cm/v201708">false</ns14:targetContentNetwork>
                   
<ns15:targetPartnerSearchNetwork xmlns:ns15="https://adwords.google.com/api/adwords/cm/v201708">false</ns15:targetPartnerSearchNetwork>
               
</ns11:networkSetting>
           
</searchParameters>
           
<ideaType>KEYWORD</ideaType>
           
<requestType>IDEAS</requestType>

           
<requestedAttributeTypes>KEYWORD_TEXT</requestedAttributeTypes>
           
<requestedAttributeTypes>SEARCH_VOLUME</requestedAttributeTypes>

           
<requestedAttributeTypes>CATEGORY_PRODUCTS_AND_SERVICES</requestedAttributeTypes>
           
<paging>
               
<ns16:startIndex xmlns:ns16="https://adwords.google.com/api/adwords/cm/v201708">0</ns16:startIndex>
               
<ns17:numberResults xmlns:ns17="https://adwords.google.com/api/adwords/cm/v201708">10</ns17:numberResults>
           
</paging>
       
</selector>
   
</get>
</soapenv:Body>

Let me know if this helps.

Thanks,
Vincent
AdWords API Team

Fred Cohen

unread,
Sep 4, 2017, 11:09:35 AM9/4/17
to AdWords API Forum
Thanks very much.

Could you give me an example of using the URL parameter?

<searchParameters xsi:type="RelatedToUrlSearchParameter">
    <urls>www.bbc.co.uk</urls>
</searchParameters>

i get back CollectionSizeError.TOO_MANY @ selector.searchParameters[0].urls 

thanks

Vincent Racaza (AdWords API Team)

unread,
Sep 5, 2017, 12:07:52 AM9/5/17
to AdWords API Forum
Hi Fred,

Your SOAP request snippet for RelatedToUrlSearchParameter is correct. However, could you confirm if that is the only URL you set in your request? As based on the error message, you have too many URLs for your parameter. And for Keyword queries, only one URL may be included in your request. Below is a sample SOAP request snippet which generates a successful response:

<soapenv:Body>
   
<get xmlns="https://adwords.google.com/api/adwords/o/v201708">
       
<selector>
           
<searchParameters xmlns:ns7="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns7:RelatedToQuerySearchParameter">
               
<ns7:queries>mars cruise</ns7:queries>
               
<ns7:queries>jupiter cruise</ns7:queries>
           
</searchParameters>
           
<searchParameters xmlns:ns8="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns8:LocationSearchParameter">
               
<ns8:locations>
                   
<ns9:id xmlns:ns9="https://adwords.google.com/api/adwords/cm/v201708">2826</ns9:id>
               
</ns8:locations>
               
<ns8:locations>
                   
<ns10:id xmlns:ns10="https://adwords.google.com/api/adwords/cm/v201708">9041117</ns10:id>
               
</ns8:locations>
           
</searchParameters>

           
<searchParameters xmlns:ns11="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns11:RelatedToUrlSearchParameter">
               
<ns11:urls>www.bbc.co.uk</ns11:urls>
           
</searchParameters>

           
<searchParameters xmlns:ns12="https://adwords.google.com/api/adwords/o/v201708" xsi:type="ns12:NetworkSearchParameter">
               
<ns12:networkSetting>
                   
<ns13:targetGoogleSearch xmlns:ns13="https://adwords.google.com/api/adwords/cm/v201708">true</ns13:targetGoogleSearch>
                   
<ns14:targetSearchNetwork xmlns:ns14="https://adwords.google.com/api/adwords/cm/v201708">false</ns14:targetSearchNetwork>
                   
<ns15:targetContentNetwork xmlns:ns15="https://adwords.google.com/api/adwords/cm/v201708">false</ns15:targetContentNetwork>
                   
<ns16:targetPartnerSearchNetwork xmlns:ns16="https://adwords.google.com/api/adwords/cm/v201708">false</ns16:targetPartnerSearchNetwork>
               
</ns12:networkSetting>

           
</searchParameters>
           
<ideaType>KEYWORD</ideaType>
           
<requestType>IDEAS</requestType>
           
<requestedAttributeTypes>KEYWORD_TEXT</requestedAttributeTypes>
           
<requestedAttributeTypes>SEARCH_VOLUME</requestedAttributeTypes>
           
<requestedAttributeTypes>CATEGORY_PRODUCTS_AND_SERVICES</requestedAttributeTypes>
           
<paging>

               
<ns17:startIndex xmlns:ns17="https://adwords.google.com/api/adwords/cm/v201708">0</ns17:startIndex>
               
<ns18:numberResults xmlns:ns18="https://adwords.google.com/api/adwords/cm/v201708">10</ns18:numberResults>

           
</paging>
       
</selector>
   
</get>
</soapenv:Body>

If you can confirm that you only have one URL in your RelatedToUrlSearchParameter, and still the error persists, then kindly provide your latest SOAP request and response logs via Reply privately to author so I can further investigate.
Reply all
Reply to author
Forward
0 new messages