XSL Transform ポリシーのデプロイエラーのトラブルシューティング

現在、ApigeeApigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する

XSLEmptyResourceUrl

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

Error Saving Revision revision_number
Error occurred while validation of bean policy_name.xml. Reason:- Non null
value expected for element ResourceURL in XSL

エラー メッセージの例

次のエラー メッセージの例では、エラーの原因となっている XSL Transform ポリシーの名前は xslt です。

Error Saving Revision 1
Error occurred while validation of bean xslt.xml. Reason: - Non null value
expected for element ResourceURL in XSL

スクリーンショットの例

Apigee UI には次のようなエラーが表示されます。

XSL 内の要素 ResourceURL の値は null ではありません。

原因

XSL Transform ポリシーの <ResourceURL> 要素が空の場合、API プロキシのデプロイは失敗します。

診断

エラー メッセージで指定された XSL Transform ポリシーの <ResourceURL> 要素を調べます。<ResourceURL> 要素でリソース URL が指定されていない場合は、これがエラーの原因です。たとえば、次の XSL Transform ポリシーには空の <ResourceURL> 要素があります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="xslt">
    <DisplayName>xslt</DisplayName>
    <Properties/>
    <ResourceURL></ResourceURL>
    <Parameters ignoreUnresolvedVariables="true"/>
    <OutputVariable/>
</XSL>

<ResourceURL> 要素が空のため、API プロキシのデプロイは失敗します。

解決策

XSL Transform ポリシーの <ResourceURL> 要素に、XSLT ファイルを指す有効な URL が指定されていることを確認します。

次に例を示します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="xslt">
    <DisplayName>xslt</DisplayName>
    <Properties/>
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Parameters ignoreUnresolvedVariables="true"/>
    <OutputVariable/>
</XSL>

XSLInvalidResourceType

エラー メッセージ

Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。

Error Deploying Revision revision_number to env_name
XSL policy_name: Resource type must be xsl. Context Revision:revision_number;
APIProxy:api_proxy_name;Organization:org_name;Environment:env_name.

エラー メッセージの例

次のエラー メッセージの例では、エラーの原因となっている XSL Transform ポリシーの名前は xslt です。

Error Deploying Revision 1 to test
XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
Organization:jdoe-test;Environment:test.

スクリーンショットの例

Apigee UI には次のようなエラーが表示されます。

リソースの種類は xsl でなければなりません。

原因

XSL Transform ポリシーの <ResourceURL> 要素に指定されたリソースの種類が xsl 型でない場合、API プロキシのデプロイが失敗します。

この指定の正しい形式は次のとおりです。

<ResourceURL>xsl://<file_name>.xsl</ResourceURL>

たとえば、XSL Transform ポリシーの <ResourceURL> 要素にリソースの種類が jsc と指定されている場合、API プロキシのデプロイは失敗します。

<ResourceURL>jsc://my_transform.xsl</ResourceURL>

診断

  1. エラーが発生した XSL Transform ポリシーの名前を特定します。この情報はエラー メッセージで確認できます。たとえば次のエラーでは、ポリシー名は xslt です。

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. エラーが発生した XSL Transform ポリシー XML で、<ResourceURL> 要素に指定されたリソースの種類が xsl 型ではないことを確認します。xsl 型でない場合、これがエラーの原因です。

    たとえば、次のポリシーでは <ResourceURL> 要素に xsl 以外の型が指定されています。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XSL async="false" continueOnError="false" enabled="true" name="xslt">
        <DisplayName>xslt</DisplayName>
        <Properties/>
        <ResourceURL>jsc://my_transform.xsl</ResourceURL>
        <Parameters ignoreUnresolvedVariables="true"/>
        <OutputVariable/>
    </XSL>
    

    リソース URL が xsl 型でない jsc://my_transform.xsl として指定されているため、API プロキシのデプロイは次のエラーで失敗します。

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    

解決策

XSL Transform ポリシーの <ResourceURL> 要素で指定されているリソースの種類が必ず xsl 型であることを確認します。次に例を示します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XSL async="false" continueOnError="false" enabled="true" name="xslt">
    <DisplayName>xslt</DisplayName>
    <Properties/>
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Parameters ignoreUnresolvedVariables="true"/>
    <OutputVariable/>
</XSL>