SOAP एक्सएमएल अनुरोध और रिस्पॉन्स हेडर

यह पेज, एसओएपी एक्सएमएल अनुरोध के ज़रूरी हेडर और रिस्पॉन्स के तौर पर दिखाए जाने वाले हेडर के बारे में जानकारी देता है.

ज़रूरी अनुरोध हेडर

सभी एपीआई एसओएपी कॉल के हेडर में <RequestHeader> एलिमेंट होना चाहिए. यह एलिमेंट सभी डब्ल्यूएसडीएल सेवा में बताया जाता है. क्लाइंट लाइब्रेरी आपकी दी गई वैल्यू का इस्तेमाल करके, इस हेडर को जोड़ने के तरीके उपलब्ध कराती हैं. यहां <RequestHeader> के सभी एलिमेंट की जानकारी दी गई है:

एलिमेंट ब्यौरा
<networkCode>

जिस नेटवर्क पर कार्रवाई की जा रही है उसका नेटवर्क कोड. NetworkService.getAllNetworks() और NetworkService.makeTestNetwork() को छोड़कर सभी अनुरोध करते समय, नेटवर्क कोड की ज़रूरत होती है.

यह पक्का करें कि सिर्फ़ उस नेटवर्क कोड का इस्तेमाल किया जा रहा हो जो आपके खाते के लॉगिन के लिए उपलब्ध है. आपको अपने खाते के लिए Google Ad Manager की वेबसाइट पर, "नेटवर्क कोड " के बगल में मौजूद एडमिन> नेटवर्क सेटिंग पेज पर यह कोड मिल सकता है.

<applicationName> आपके ऐप्लिकेशन की पहचान करने वाला आर्बिट्रेरी स्ट्रिंग नाम. यह Google की लॉग फ़ाइलों में दिखाया जाएगा. उदाहरण के लिए: "मेरा इन्वेंट्री ऐप्लिकेशन" या "App_1".

ध्यान दें: आपका ऐप्लिकेशन, Ad Manager API को जो भी अनुरोध भेजता है उसमें एक OAuth2 ऐक्सेस टोकन शामिल होना चाहिए. एचटीटीपी हेडर में टोकन को इस तौर पर पास करें: Authorization: Bearer YOUR_ACCESS_TOKEN.

अनुरोध का उदाहरण

नीचे दिया गया कोड, रूट AdUnit को खोजने के लिए getAdUnitsByStatement() को किए जाने वाले एसओएपी अनुरोध कॉल का उदाहरण है.

<?xml version="1.0" encoding="UTF-8"?>
<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:Header>
    <ns1:RequestHeader
         soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
         soapenv:mustUnderstand="0"
         xmlns:ns1="https://www.google.com/apis/ads/publisher/v202402">
      <ns1:networkCode>123456</ns1:networkCode>
      <ns1:applicationName>DfpApi-Java-2.1.0-dfp_test</ns1:applicationName>
    </ns1:RequestHeader>
  </soapenv:Header>
  <soapenv:Body>
    <getAdUnitsByStatement xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <filterStatement>
        <query>WHERE parentId IS NULL LIMIT 500</query>
      </filterStatement>
    </getAdUnitsByStatement>
  </soapenv:Body>
</soapenv:Envelope>

ध्यान दें: अगर आपके एसओएपी अनुरोध की वजह से Unmarshalling error आता है, तो समस्या हल करने की सलाह के लिए सामान्य गड़बड़ियां देखें.

रिस्पॉन्स हेडर

एपीआई से मिलने वाले सभी रिस्पॉन्स में, ये हेडर एलिमेंट शामिल होते हैं. हमारा सुझाव है कि सबसे सही तरीके के तौर पर, आप इन वैल्यू को लॉग करें.

एलिमेंट ब्यौरा
<requestId> इस अनुरोध की अलग-अलग पहचान करता है. अगर आपको कोई समस्या आ रही है, तो हमें यह आईडी भेजें. इससे हम आपके अनुरोध को ज़्यादा आसानी से ढूंढ पाएंगे.
<responseTime> वेब सेवा को अनुरोध मिलने और जवाब भेजने के बीच बीत चुका समय.

जवाब का उदाहरण

यह कोड, पिछले अनुरोध के लिए एसओएपी रिस्पॉन्स का उदाहरण दिखाता है.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ResponseHeader xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <requestId>xxxxxxxxxxxxxxxxxxxx</requestId>
      <responseTime>1063</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
    <getAdUnitsByStatementResponse xmlns="https://www.google.com/apis/ads/publisher/v202402">
      <rval>
        <totalResultSetSize>1</totalResultSetSize>
        <startIndex>0</startIndex>
        <results>
          <id>2372</id>
          <name>RootAdUnit</name>
          <description></description>
          <targetWindow>TOP</targetWindow>
          <status>ACTIVE</status>
          <adUnitCode>1002372</adUnitCode>
          <inheritedAdSenseSettings>
            <value>
              <adSenseEnabled>true</adSenseEnabled>
              <borderColor>FFFFFF</borderColor>
              <titleColor>0000FF</titleColor>
              <backgroundColor>FFFFFF</backgroundColor>
              <textColor>000000</textColor>
              <urlColor>008000</urlColor>
              <adType>TEXT_AND_IMAGE</adType>
              <borderStyle>DEFAULT</borderStyle>
              <fontFamily>DEFAULT</fontFamily>
              <fontSize>DEFAULT</fontSize>
            </value>
          </inheritedAdSenseSettings>
        </results>
      </rval>
    </getAdUnitsByStatementResponse>
  </soap:Body>
</soap:Envelope>