XML to JSON ポリシーのデプロイエラーのトラブルシューティング

現在、ApigeeApigee ハイブリッドのドキュメントを表示しています。
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.comyahoogooglebadgerFish があります。

診断

  1. エラーが発生した特定の 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.comyahoogooglebadgerFish があります。

診断

  1. エラーが発生した XML to JSON ポリシーと不明な形式を特定します。この情報はエラー メッセージで確認できます。たとえば、次のエラーでは、ポリシー名は WithFormat であり、不明な形式は google.com です。

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. 失敗した 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>
    
  3. 指定された形式が、定義済みの形式 xml.comyahoogooglebadgerFish のいずれでもない場合、それがエラーの原因です。

    上記の 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>