मैसेज फ़्लो वैरिएबल

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

message फ़्लो वैरिएबल और उसकी प्रॉपर्टी का ऐक्सेस, एपीआई प्रॉक्सी फ़्लो के उस पॉइंट पर निर्भर करता है जिसमें उसे ऐक्सेस किया जाता है. यह सभी कॉन्टेक्स्ट में उपलब्ध है, जबकि request या response जैसे कुछ ऑब्जेक्ट नहीं हैं.

इस्तेमाल के उदाहरण

message फ़्लो वैरिएबल के इस्तेमाल का मुख्य उदाहरण तब होता है, जब आपका प्रॉक्सी गड़बड़ी वाले फ़्लो में आ जाता है: request और response फ़्लो वैरिएबल, स्कोप से बाहर हो जाते हैं.

उदाहरण के लिए, गड़बड़ी के फ़्लो में, response ऑब्जेक्ट उपलब्ध नहीं होता. अगर आप गड़बड़ी के फ़्लो में हैं, तो JavaScript नीति की मदद से, response ऑब्जेक्ट पर रिस्पॉन्स हेडर सेट नहीं किया जा सकेगा. इसके बजाय, इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है:

ये दोनों ऑब्जेक्ट, गड़बड़ी के फ़्लो में उपलब्ध होते हैं. इनका इस्तेमाल JavaScript की नीति से ही रिस्पॉन्स हेडर सेट करने के लिए किया जा सकता है. इसके अलावा, इन्हें ऐसी दूसरी नीतियों में ऐक्सेस किया जा सकता है जो फ़्लो वैरिएबल का इस्तेमाल कर सकती हैं.

रिस्पॉन्स ऑब्जेक्ट को हेडर जैसी वैल्यू असाइन करने के लिए, assignMessage नीति का इस्तेमाल किया जा सकता है. असाइन करें मैसेज की सुविधा, अनुरोध/रिस्पॉन्स फ़्लो से गड़बड़ी के फ़्लो पर स्विच करने के दौरान अपने-आप स्विच करती है.

message वैरिएबल के लिए इस्तेमाल का एक और उदाहरण, MessageLogging नीति की मदद से, रिस्पॉन्स डेटा को PostClientFlow में लॉग करना है. अगर message ऑब्जेक्ट का इस्तेमाल किया जाता है, तो रिस्पॉन्स की जानकारी को प्रॉक्सी में लॉग इन किया जा सकता है. ऐसा करने के लिए, प्रॉक्सी की सफलता और गड़बड़ी की स्थितियों, दोनों का इस्तेमाल किया जा सकता है.

उदाहरण

गड़बड़ी के फ़्लो में, error या message का इस्तेमाल करके, JavaScript की नीति से रिस्पॉन्स हेडर सेट किया जा सकता है. उदाहरण के लिए:

context.setVariable('error.header.FOO-1', 'error_header');

OR

context.setVariable('message.header.FOO-2', 'message_header');

हालांकि, यह एक्सप्रेशन काम नहीं करेगा:

context.setVariable('response.header.FOO-3', 'response_header');

इस मामले में, गड़बड़ी के फ़्लो में, response वैरिएबल स्कोप से बाहर है. (ध्यान दें कि ट्रेस में, यह वैरिएबल के ज़रिए विज़ुअल के साथ दिखाया जाता है. इसमें बराबर का निशान होता है और इसके बीच में एक स्लैश होता है.)

एक ही नीति में, सफलता और गड़बड़ी, दोनों के लिए रिस्पॉन्स हेडर सेट करने के लिए, JavaScript की नीति में message का इस्तेमाल करें. उदाहरण के लिए:

<faultrules>
  <faultrule name="invalid_key_rule">
    <step>
      <name>SetResponseHeaders</name>
    </step>
    <condition>(fault.name = "InvalidApiKey")</condition>
  </faultrule>
</faultrules>

नीति में, नीचे दिए गए कोड के मुताबिक, किसी भी फ़्लो कॉन्टेक्स्ट में गड़बड़ी/रिस्पॉन्स हेडर सेट किया जाता है:

context.setVariable('message.header.FOO-1', 'the header value');

सामान्य प्रॉक्सी रिस्पॉन्स फ़्लो पर इसी नीति का फिर से इस्तेमाल किया जा सकता है. message सभी कॉन्टेक्स्ट में उपलब्ध है. इसलिए, इसे लागू किया जा सकेगा.