এক্সটেনশন কলআউট নীতি প্রয়োগ সংক্রান্ত সমস্যার সমাধান করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

InvalidConnectorInstance

ত্রুটি বার্তা

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
In policy_name: Connector must not be empty.

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 1
In Extension Callout-1: Connector must not be empty.

সমস্যার স্ক্রিনশটের উদাহরণ

ভুল কানেক্টর ইনস্ট্যান্স সংক্রান্ত সমস্যার মেসেজ

কারণ

ExtensionCallout নীতিতে <Connector> এলিমেন্ট না থাকলে বা ফাঁকা মান হিসেবে সেট করা থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. সমস্যার মেসেজে ExtensionCallout নীতির নাম শনাক্ত করুন। যেমন, নিচের সমস্যার ক্ষেত্রে, ExtensionCallout নীতির নাম হল Extension Callout-1:

    Error Saving Revision 1
    In Extension Callout-1: Connector must not be empty
  2. ExtensionCallout নীতি XML পরীক্ষা করুন এবং <Connector> এলিমেন্ট আছে কিনা এবং সেটি খালি নয় কিনা তা যাচাই করুন। যেমন, নিচের নীতিতে <Connector> এলিমেন্ট খালি আছে এবং এতে এক্সটেনশনের নাম নেই:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
        <DisplayName>Extension Callout-1</DisplayName>
        <Connector></Connector>
        <Action>downloadFile</Action>
        <Input><![CDATA[
             {}
         ]]></Input>
        <Output>context-variable-name</Output>
    </ConnectorCallout>

<Connector> এলিমেন্ট খালি থাকার কারণে, API প্রক্সি ডেপ্লয় করা যায়নি।

রেজোলিউশন

এক্সটেনশন কলআউট নীতির <Connector> এলিমেন্টের ভ্যালু সবসময় নির্দিষ্ট করা আছে কিনা এবং সেটি প্রতিষ্ঠানে তৈরি করা আসল এক্সটেনশনের নামের সাথে মিলছে কিনা তা নিশ্চিত করুন।

উপরে দেখানো ExtensionCallout নীতির উদাহরণটি সংশোধন করতে, আপনি <Connector> এলিমেন্টটিকে সেই এক্সটেনশনের নামে সেট করতে পারেন যা নির্দিষ্ট এনভায়রনমেন্টে বিদ্যমান যেখানে API প্রক্সি ডেপ্লয় করা হচ্ছে।

এক্সটেনশনের নাম নির্ধারণ করতে, Edge UI-তে আপনি অ্যাডমিন > এক্সটেনশন বিকল্পে নেভিগেট করতে পারবেন। আপনার সংস্থার সব এক্সটেনশনের নাম সেখানে দেখানো হবে। <Connector> এলিমেন্টে এক্সটেনশনের নাম সেট করতে হবে।

Edge UI-তে সব এক্সটেনশনের নাম দেখুন।

<Connector> এলিমেন্টে এক্সটেনশনের নাম সঠিকভাবে সেট করা আছে, এমন উদাহরণ নিচে দেওয়া হল:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

ConnectorInstanceDoesNotExists

ত্রুটি বার্তা

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
In policy_name: Connector <extension_name> does not exist in environment environment.

সমস্যার মেসেজের উদাহরণ

Error Deploying Revision 1 to test
In Extension Callout-1: Connector cloud_storage does not exist in environment test.

সমস্যার স্ক্রিনশটের উদাহরণ

Connector Instance Does Not exist সমস্যার মেসেজ

কারণ

ExtensionCallout নীতিতে <Connector> এলিমেন্ট এমন নামে সেট করা থাকলে এই সমস্যা হয় যা API প্রক্সি যেখানে ডেপ্লয় করা হচ্ছে সেই এনভায়রনমেন্টে নেই।

ডায়াগনসিস

  1. ExtensionCallout নীতির নাম, ExtensionCallout নীতির <Connector> এলিমেন্টে ব্যবহৃত ভুল এক্সটেনশনের নাম এবং যে এনভায়রনমেন্টে সমস্যা হয়েছে তা শনাক্ত করুন। আপনি সমস্যার মেসেজে এই সমস্ত আইটেম দেখতে পাবেন।

    যেমন, নিম্নলিখিত সমস্যার ক্ষেত্রে, ExtensionCallout নীতির নাম হল Extension Callout-1,invalid , এক্সটেনশনের নাম হল cloud_storage এবং এনভায়রনমেন্টের নাম হল test:

        Error Deploying Revision 1 to test
        In Extension Callout-1: Connector cloud_storage does not exist in environment test.
  2. ExtensionCallout নীতি XML পরীক্ষা করুন এবং <Connector> এলিমেন্টের জন্য নির্দিষ্ট করা এক্সটেনশনের নাম সমস্যার মেসেজে দেখানো নামের সাথে মিলছে কিনা তা যাচাই করুন।

    এই উদাহরণে, <Connector> এলিমেন্টে উল্লেখ করা এক্সটেনশনের নাম হল cloud_storage:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage</Connector>
            <Action>downloadFile</Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>
  3. এক্সটেনশনের নাম এনভায়রনমেন্টে (১ম ধাপে নির্ধারিত) তৈরি করা হয়েছে কিনা তা যাচাই করুন।

    Edge UI-তে, অ্যাডমিন > এক্সটেনশন লিঙ্কে নেভিগেট করুন এবং এক্সটেনশনটি আছে কিনা এবং এক্সটেনশন কলআউট নীতির <Connector> এলিমেন্টে নির্দিষ্ট করা নামের সাথে মিলছে কিনা তা চেক করুন।

    নিচের স্ক্রিনশটে লক্ষ্য করুন যে এক্সটেনশন cloud_storage_ext আছে, কিন্তু উপরে দেখানো এক্সটেনশন কলআউট নীতির উদাহরণে নির্দিষ্ট করা <Connector> এলিমেন্টের সাথে এটি ম্যাচ করছে না:

    Edge UI-তে সব এক্সটেনশনের নাম দেখুন।

    <Connector> এলিমেন্টে উল্লেখ করা এক্সটেনশনের নাম না থাকার কারণে, আপনি এই ডিপ্লয়মেন্ট সংক্রান্ত সমস্যাটি দেখতে পাবেন:

    In Extension Callout-1: Connector cloud_storage does not exist in environment test.

রেজোলিউশন

ExtensionCallout নীতির <Connector> এলিমেন্টে উল্লেখ করা এক্সটেনশন তৈরি করা হয়েছে এবং নাম সঠিকভাবে উল্লেখ করা হয়েছে কিনা তা নিশ্চিত করুন।

এক্সটেনশন কীভাবে তৈরি করতে হয় সেই বিষয়ে তথ্য পেতে টিউটোরিয়াল: এক্সটেনশন ব্যবহার করা দেখুন।

উপরের উদাহরণে সমস্যা সমাধান করতে, নামটি এমনভাবে ঠিক করুন যাতে সেটি আসল এক্সটেনশনের সাথে মেলে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

InvalidAction

ত্রুটি বার্তা

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Saving Revision revision_number
In policy_name: Action must not be empty.

সমস্যার মেসেজের উদাহরণ

Error Saving Revision 1
In Extension Callout-1: Action must not be empty.

সমস্যার স্ক্রিনশটের উদাহরণ

ভুল অ্যাকশন সংক্রান্ত সমস্যার মেসেজ

কারণ

ExtensionCallout নীতিতে <Action> এলিমেন্ট না থাকলে বা ফাঁকা মান হিসেবে সেট করা থাকলে এই সমস্যা হয়।

ডায়াগনসিস

  1. ExtensionCallout নীতির নাম শনাক্ত করুন। আপনি সমস্যার মেসেজে এই তথ্য দেখতে পাবেন। যেমন, নিচের সমস্যার ক্ষেত্রে, ExtensionCallout নীতির নাম হল Extension Callout-1:

        Error Saving Revision 1
        In Extension Callout-1: Action must not be empty.
  2. ExtensionCallout নীতি XML পরীক্ষা করে দেখুন এবং <Action> এলিমেন্টে অ্যাকশন নির্দিষ্ট করা আছে কিনা তা যাচাই করুন। <Action> এলিমেন্ট না থাকলে বা সেটি খালি থাকলে, এটিই সমস্যার কারণ।

    এই উদাহরণে, <Action> এলিমেন্টটি ফাঁকা:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
            <DisplayName>Extension Callout-1</DisplayName>
            <Connector>cloud_storage_ext</Connector>
            <Action></Action>
            <Input><![CDATA[
                 {}
             ]]></Input>
            <Output>context-variable-name</Output>
        </ConnectorCallout>

রেজোলিউশন

ExtensionCallout নীতিতে <Action> এলিমেন্ট সবসময় নির্দিষ্ট করা আছে এবং খালি নেই তা নিশ্চিত করুন।

কীভাবে এক্সটেনশন তৈরি করতে হয় এবং সঠিক <Action> এলিমেন্ট সহ নীতিতে এটি ব্যবহার করতে হয় সেই বিষয়ে তথ্য পেতে টিউটোরিয়াল: এক্সটেনশন ব্যবহার করা দেখুন।

উপরের সমস্যার সমাধান করতে, এক্সটেনশনের জন্য সঠিক অ্যাকশন নির্দিষ্ট করুন:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ConnectorCallout async="false" continueOnError="true" enabled="true" name="Extension-Callout-1">
    <DisplayName>Extension Callout-1</DisplayName>
    <Connector>cloud_storage_ext</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[
         {}
     ]]></Input>
    <Output>context-variable-name</Output>
</ConnectorCallout>

AllowExtensionsInPostClientFlow

ত্রুটি বার্তা

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি ডেপ্লয়মেন্ট এই সমস্যার মেসেজ সহ ব্যর্থ হয়:

Error Deploying Revision revision_number to environment
In policy_name: Policy is not allowed in PostClientFlow.

সমস্যার মেসেজের উদাহরণ

Error Deploying Revision 1 to test
In Extension Callout-1: Policy is not allowed in PostClientFlow.

সমস্যার স্ক্রিনশটের উদাহরণ

Allow Extensions In Post Client Flow সমস্যার মেসেজ

কারণ

PostClient ফ্লোতে ExtensionCallout নীতি রাখা নিষিদ্ধ। PostClient Flow-তে ExtensionCallout নীতি প্রয়োগ করা হলে, API প্রক্সি এই সমস্যার কারণে ডিপ্লয় করা যায় না।

ডায়াগনসিস

  1. ExtensionCallout নীতির নাম শনাক্ত করুন। আপনি সমস্যার মেসেজে এই তথ্য দেখতে পাবেন। যেমন, নিচের সমস্যার ক্ষেত্রে, ExtensionCallout নীতির নাম হল Extension Callout-1:

    In Extension Callout-1: Policy is not allowed in PostClientFlow.
  2. নির্দিষ্ট API প্রক্সির সব এন্ডপয়েন্টে, যেখানে সমস্যা হয়েছে, সেখানে সব PostClient ফ্লো পরীক্ষা করুন। ফ্লোয়ের মাধ্যমে কীভাবে কোনও প্রক্সি এক্সিকিউট করা হয় তা নিয়ন্ত্রণ করা নিবন্ধটি দেখুন।

    আপনি যদি লক্ষ্য করেন যে ExtensionCallout নীতি (১ম ধাপে নির্ধারিত) PostClient ফ্লোতে রাখা হয়েছে, তাহলে এটিই সমস্যার কারণ।

    যেমন, নিম্নলিখিত PostClient Flow-তে ExtensionCallout নীতি আছে:

        ...
        <PostClientFlow>
                <Request/>
                <Response>
                    <Step>
                        <Name>Extension-Callout-1</Name>
                    </Step>
                </Response>
            </PostClientFlow>
        ...

রেজোলিউশন

ExtensionCallout নীতি যেন PostClient ফ্লোতে না থাকে তা নিশ্চিত করুন।

উপরে উল্লেখ করা সমস্যা সমাধান করতে, আপনাকে ExtensionCallout নীতি অন্য কোনও ফ্লোতে সরাতে হবে।

...
<PreFlow name="PreFlow">
    <Request/>
    <Response>
        <Step>
            <Name>Extension-Callout-1</Name>
        </Step>
    </Response>
</PreFlow>
...