現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する
EitherOptionOrFormat
エラー メッセージ
Apigee UI または API を使用した 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 to JSON ポリシーに宣言されていない場合、API プロキシのデプロイは失敗します。
<Format>
を使用しない場合は <Options>
が必要です。
<Format>
要素か <Options>
グループのいずれかを使用します。<Format>
と <Options>
の両方は使用できません。事前定義された形式には、xml.com
、yahoo
、google
、badgerFish
があります。
診断
エラーが発生した特定の API プロキシで、すべての XML to JSON ポリシーを調べます。
<Options>
要素と<Format>
要素のどちらも宣言されていない XML to JSON ポリシーがある場合、それがエラーの原因です。たとえば、次のポリシーではどちらの要素も宣言されていません。
<?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 to JSON ポリシーの XML が、ポリシーで宣言された要素 <Options>
と要素 <Format>
のいずれか 1 つを持つことを確認します。
例 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>
UnknownFormat
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision [revision_number] XMLToJSON[policy_name]: Unknown Format [unknown_format].
エラーの例
Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.
スクリーンショットの例
原因
XML to JSON ポリシー内の <Format>
要素に不明な形式が定義されている場合、API プロキシのデプロイは失敗します。
事前定義された形式には、xml.com
、yahoo
、google
、badgerFish
があります。
診断
エラーが発生した XML to JSON ポリシーと不明な形式を特定します。この情報はエラー メッセージで確認できます。たとえば、次のエラーでは、ポリシー名は
WithFormat
であり、不明な形式はgoogle.com
です。Error Saving Revision 1 XMLToJSON[WithFormat]: Unknown Format google.com.
失敗した XML to 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 to JSON ポリシーの例では、形式は
google.com
で無効です。このため、API プロキシのデプロイが失敗し、次のエラーが返されます。XMLToJSON[WithFormat]: Unknown Format google.com.
解決策
XML to JSON ポリシーの <Format>
要素で指定された形式が有効であることを確認します。次に例を示します。
<?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>