شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
InvalidConnectorInstance
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management 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.
نمونه خطا از صفحه نمایش
علت
اگر عنصر <Connector>
در خط مشی ExtensionCallout وجود نداشته باشد یا روی مقدار خالی تنظیم شود، این خطا رخ می دهد.
تشخیص
نام خط مشی ExtensionCallout را در پیام خطا شناسایی کنید. به عنوان مثال، در خطای زیر، نام خط مشی ExtensionCallout
Extension Callout-1
است:Error Saving Revision 1 In Extension Callout-1: Connector must not be empty
XML خط مشی ExtensionCallout ناموفق را بررسی کنید و بررسی کنید که آیا عنصر
<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>
خط مشی Extension Callout همیشه مشخص شده باشد و با نام برنامه افزودنی واقعی ایجاد شده در سازمان مطابقت داشته باشد.
برای تصحیح مثال سیاست ExtensionCallout نشان داده شده در بالا، می توانید عنصر <Connector>
را به نام افزونه ای که در محیط خاصی که در آن پروکسی API در حال استقرار است وجود دارد، تنظیم کنید.
برای تعیین نام برنامه افزودنی، در رابط کاربری Edge میتوانید به Admin > Extensions بروید. نام همه برنامه های افزودنی در سازمان شما در آنجا نشان داده می شود. نام برنامه افزودنی باید در عنصر <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>cloud_storage_ext</Connector> <Action>downloadFile</Action> <Input><![CDATA[ {} ]]></Input> <Output>context-variable-name</Output> </ConnectorCallout>
ConnectorInstanceDoesNotExists
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management 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>
در خط مشی ExtensionCallout روی نامی تنظیم شده باشد که در محیطی که پراکسی API در آن مستقر است وجود نداشته باشد، این خطا رخ می دهد.
تشخیص
نام خط مشی ExtensionCallout، نام برنامه افزودنی نامعتبر مورد استفاده در عنصر
<Connector>
خط مشی ExtensionCallout و محیطی که در آن خطا رخ داده است را شناسایی کنید. شما می توانید تمام این موارد را در پیام خطا پیدا کنید.به عنوان مثال، در خطای زیر، نام سیاست ExtensionCallout
Extension Callout-1,
نامd
افزونهcloud_storage
و نام محیطtest
است:Error Deploying Revision 1 to test In Extension Callout-1: Connector cloud_storage does not exist in environment test.
XML خط مشی ExtensionCallout ناموفق را بررسی کنید و بررسی کنید که آیا نام برنامه افزودنی مشخص شده برای عنصر
<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>
بررسی کنید که آیا نام برنامه افزودنی در محیط ایجاد شده است (در مرحله شماره 1 تعیین شده است).
در رابط کاربری Edge، به Admin > Extensions بروید و بررسی کنید که آیا پسوند وجود دارد و نام با نام مشخص شده در عنصر
<Connector>
در خط مشی ExtensionCallout مطابقت دارد یا خیر.در تصویر زیر توجه کنید که پسوند
cloud_storage_ext
وجود دارد، اما با عنصر<Connector>
مشخص شده در سیاست ExtensionCallout مثال نشان داده شده در بالا مطابقت ندارد:از آنجایی که نام برنامه افزودنی مشخص شده در عنصر
<Connector>
وجود ندارد، خطای Deployment را دریافت می کنید:In Extension Callout-1: Connector cloud_storage does not exist in environment test.
قطعنامه
مطمئن شوید که برنامه افزودنی مشخص شده در عنصر <Connector>
خط مشی ExtensionCallout ایجاد شده است و نام به درستی مشخص شده است.
برای کسب اطلاعات در مورد نحوه ایجاد افزونه به آموزش: استفاده از افزونه ها مراجعه کنید.
برای اصلاح مثال بالا، نام را طوری اصلاح کنید که با پسوند واقعی مطابقت داشته باشد:
<?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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management 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.
نمونه خطا از صفحه نمایش
علت
اگر عنصر <Action>
در خط مشی ExtensionCallout وجود نداشته باشد یا روی یک مقدار خالی تنظیم شده باشد، این خطا رخ می دهد.
تشخیص
نام خط مشی ExtensionCallout را شناسایی کنید. شما می توانید این اطلاعات را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام خط مشی ExtensionCallout
Extension Callout-1:
Error Saving Revision 1 In Extension Callout-1: Action must not be empty.
XML خط مشی ExtensionCallout ناموفق را بررسی کنید و بررسی کنید که آیا عملکردی در عنصر
<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>
قطعنامه
اطمینان حاصل کنید که عنصر <Action>
همیشه در خط مشی ExtensionCallout مشخص و خالی نیست.
برای اطلاعات در مورد نحوه ایجاد یک برنامه افزودنی و نحوه استفاده از آن در خط مشی با عنصر <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
پیغام خطا
استقرار پراکسی API از طریق رابط کاربری Edge یا API مدیریت Edge با این پیام خطا انجام نمی شود:
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.
نمونه خطا از صفحه نمایش
علت
داشتن خط مشی ExtensionCallout در جریان PostClient ممنوع است. اگر یک خطمشی ExtensionCallout در یک PostClient Flow قرار گیرد، استقرار پراکسی API با این خطا با شکست مواجه میشود.
تشخیص
نام خط مشی ExtensionCallout را شناسایی کنید. شما می توانید این اطلاعات را در پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام خط مشی ExtensionCallout
Extension Callout-1:
In Extension Callout-1: Policy is not allowed in PostClientFlow.
تمام جریان های PostClient را در تمام نقاط انتهایی پروکسی API خاص که در آن خرابی رخ داده است، بررسی کنید. لطفاً به مقاله کنترل نحوه اجرای یک پروکسی با جریان ها مراجعه کنید.
اگر متوجه شدید که خط مشی ExtensionCallout (که در مرحله شماره 1 تعیین شده است) در PostClient Flow قرار گرفته است، دلیل این خطا همین است.
به عنوان مثال، PostClient Flow زیر دارای ExtensionCallout Policy در آن است:
... <PostClientFlow> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PostClientFlow> ...
قطعنامه
اطمینان حاصل کنید که خط مشی ExtensionCallout در PostClient Flow قرار نمی گیرد.
برای رفع مشکل ذکر شده در بالا، باید خط مشی ExtensionCallout را به هر جریان دیگری منتقل کنید.
... <PreFlow name="PreFlow"> <Request/> <Response> <Step> <Name>Extension-Callout-1</Name> </Step> </Response> </PreFlow> ...