شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
EitherOptionOrFormat
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision [revision_number] XMLToJSON[{0}]: Either Options or Format must be specified.
خطای مثال
Error Saving Revision 1
XMLToJSON[{0}]: Either Options or Format must be specified.
نمونه اسکرین شات
علت
اگر یکی از عناصر <Options>
یا <Format>
در خطمشی XML به JSON اعلان نشده باشد، استقرار پراکسی API با شکست مواجه میشود.
اگر از <Format>
استفاده نمی شود، <Options>
مورد نیاز است.
از عنصر <Format>
یا گروه عنصر <Options>
استفاده کنید. شما نمی توانید از هر دو <Format>
و <Options>
استفاده کنید. فرمت های از پیش تعریف شده عبارتند از: xml.com
، yahoo
، google
، و badgerFish
.
تشخیص
همه خطمشیهای XML به JSON را در پراکسی API خاصی که در آن خرابی رخ داده است، بررسی کنید. اگر خط مشی XML به JSON وجود داشته باشد که در آن یکی از عناصر
<Options>
یا<Format>
اعلان نشده باشد، آنگاه دلیل خطا همین است.به عنوان مثال، سیاست زیر هیچ یک از عناصر اعلام شده را ندارد:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON"> <DisplayName>XMLToJSON</DisplayName> <Properties/> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
قطعنامه
اطمینان حاصل کنید که XML خط مشی XML به JSON دارای یکی از عناصر <Options>
یا <Format>
اعلام شده در خط مشی است.
مثال 1:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
<DisplayName>XMLToJSON</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>
مثال 2:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
<DisplayName>XMLToJSON</DisplayName>
<Properties/>
<Options>
<RecognizeNumber>true</RecognizeNumber>
<RecognizeBoolean>true</RecognizeBoolean>
<RecognizeNull>true</RecognizeNull>
</Options>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>
فرمت ناشناخته
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision [revision_number] XMLToJSON[policy_name]: Unknown Format [unknown_format].
خطای مثال
Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.
نمونه اسکرین شات
علت
اگر عنصر <Format>
در خط مشی XML به JSON دارای یک قالب ناشناخته تعریف شده باشد، در آن صورت استقرار پروکسی API با شکست مواجه می شود.
فرمت های از پیش تعریف شده عبارتند از: xml.com
، yahoo
، google
، و badgerFish
.
تشخیص
خط مشی XML به JSON را که در آن خطا رخ داده و قالب ناشناخته را شناسایی کنید. می توانید این اطلاعات را از پیام خطا پیدا کنید. به عنوان مثال، در خطای زیر، نام خط مشی
WithFormat
و قالب ناشناختهgoogle.com
است:Error Saving Revision 1 XMLToJSON[WithFormat]: Unknown Format google.com.
بررسی کنید که قالب ناشناخته مشخص شده در خط مشی ناموفق XML به JSON با مقدار مشخص شده در پیام خطا مطابقت داشته باشد (مرحله شماره 1 در بالا). برای مثال، خطمشی زیر قالب را بهعنوان
google.com
مشخص میکند که با آنچه در پیام خطا است مطابقت دارد:<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat"> <DisplayName>WithFormat</DisplayName> <Properties/> <Format>google.com</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
اگر فرمت مشخص شده یکی از فرمت های از پیش تعریف شده
xml.com
،yahoo
،google
، یاbadgerFish
نباشد، دلیل این خطا همین است.در مثال خط مشی XML به JSON نشان داده شده در بالا، قالب
google.com
است که نامعتبر است. بنابراین، استقرار پروکسی API با خطا انجام می شود:XMLToJSON[WithFormat]: Unknown Format google.com.
قطعنامه
مطمئن شوید که قالب مشخص شده در عنصر <Format>
خط مشی XML به JSON معتبر است. به عنوان مثال:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
<DisplayName>WithFormat</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>