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

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

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

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

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

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

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

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

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

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

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

<?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/v202408">
      <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/v202408">
      <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/v202408">
      <requestId>xxxxxxxxxxxxxxxxxxxx</requestId>
      <responseTime>1063</responseTime>
    </ResponseHeader>
  </soap:Header>
  <soap:Body>
    <getAdUnitsByStatementResponse xmlns="https://www.google.com/apis/ads/publisher/v202408">
      <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>