1

I'm making use of OAuth2 as authentication mechanism to get the response about the "add budget campaign" using SOAP request. In the very beginning to send a soap request using cUrl I am facing an error given below:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Body>
  <soap:Fault>
   <faultcode>soap:Client</faultcode>
    <faultstring>
         Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found starting with element 'biddingStrategy'. One of '{"https://adwords.google.com/api/adwords/cm/v201309":conversionOptimizerEligibility, "https://adwords.google.com/api/adwords/cm/v201309":adServingOptimizationStatus, "https://adwords.google.com/api/adwords/cm/v201309":frequencyCap, "https://adwords.google.com/api/adwords/cm/v201309":settings, "https://adwords.google.com/api/adwords/cm/v201309":networkSetting, "https://adwords.google.com/api/adwords/cm/v201309":biddingStrategyConfiguration, "https://adwords.google.com/api/adwords/cm/v201309":forwardCompatibilityMap}' is expected. 
   </faultstring>
  </soap:Fault>
 </soap:Body>
</soap:Envelope>

I am sending the following XML/SOAP request using cUrl which is the similar code given on AdWords tutorial (https://developers.google.com/adwords/api/docs/guides/soap) .

<?xml version="1.0" encoding="UTF-8"?>
  <soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns="https://adwords.google.com/api/adwords/cm/v201309">
    <soap:Header>
      <RequestHeader>
        <authToken>MYAUTHTOKEN</authToken>
        <userAgent>curl-tutorial</userAgent>
        <developerToken>MYDEVTOKEN</developerToken>
        <clientCustomerId>MYCUSTOMERID</clientCustomerId>
      </RequestHeader>
    </soap:Header>
    <soap:Body>
      <mutate>
        <operations>
          <operator>ADD</operator>
          <operand>
            <name>Test File</name>
            <budget>
              <period>DAILY</period>
              <amount>
                <microAmount>1000000000</microAmount>
              </amount>
              <deliveryMethod>STANDARD</deliveryMethod>
            </budget>
            <biddingStrategy
              xmlns:cm="https://adwords.google.com/api/adwords/cm/v201309"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:type="cm:ManualCPC"/>
            <settings
              xmlns:cm="https://adwords.google.com/api/adwords/cm/v201309"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:type="cm:KeywordMatchSetting">
              <cm:optIn>false</cm:optIn>
            </settings>
          </operand>
        </operations>
      </mutate>
    </soap:Body>
  </soap:Envelope>

I utilized the above XML/SOAP request in my cUrl request as:

curl --header "Content-Type: application/soap+xml" 
 --data @test.xml  https://adwords.google.com/api/adwords/cm/v201309/CampaignService

I have searched over the internet regarding the same issue I'm facing but no where I could find the solution. Please let me know if I'm doing anything wrong or let me know if there is any other way out.

4

1 に答える 1