การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบายการเปลี่ยนรูปแบบ XSL ใช้งานได้

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

XSLEmptyResourceUrl

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management 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 ที่ทำให้เกิด ข้อผิดพลาดคือ xslt

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

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นข้อผิดพลาดแบบป๊อปอัปที่คล้ายกับข้อความต่อไปนี้

สาเหตุ

หากองค์ประกอบ <ResourceURL> ในนโยบายการแปลง XSL ว่างเปล่า การ ทําให้พร็อกซี API ใช้งานได้จะไม่สําเร็จ

การวินิจฉัย

ตรวจสอบองค์ประกอบ <ResourceURL> ในนโยบายการแปลง XSL ที่ระบุชื่อในข้อความแสดงข้อผิดพลาด หากไม่ได้ระบุ URL ของทรัพยากรในองค์ประกอบ <ResourceURL> นั่นคือสาเหตุของข้อผิดพลาด ตัวอย่างเช่น นโยบายการแปลง XSL ต่อไปนี้มีองค์ประกอบ <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 จึงล้มเหลว

ความละเอียด

ตรวจสอบว่าองค์ประกอบ <ResourceURL> ในนโยบายการแปลง XSL มี URL ที่ถูกต้องซึ่งชี้ไปยังไฟล์ XSLT

เช่น

<?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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ Edge Management 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 ที่ทำให้เกิดข้อผิดพลาดคือ xslt

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

ภาพหน้าจอตัวอย่าง

ใน UI ของ Edge คุณจะเห็นข้อผิดพลาดแบบป๊อปอัปที่คล้ายกับข้อความต่อไปนี้

สาเหตุ

หากประเภททรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ของนโยบาย XSL Transform ไม่ใช่ประเภท xsl การติดตั้งใช้งานพร็อกซี API จะล้มเหลว

รูปแบบที่ถูกต้องในการระบุคือดังที่แสดงด้านล่าง

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

ตัวอย่างเช่น หากระบุประเภททรัพยากรเป็น jsc ในองค์ประกอบ <ResourceURL> ของนโยบายการแปลง XSL ตามที่แสดงด้านล่าง การทําให้พร็อกซี API ใช้งานได้จะล้มเหลว

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

การวินิจฉัย

  1. ระบุชื่อนโยบายการแปลง XSL ที่เกิดข้อผิดพลาด คุณดูข้อมูลนี้ได้จากข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ xslt

    XSL xslt: Resource type must be xsl. Context Revision:1;APIProxy:XSLTransform;
    Organization:jdoe-test;Environment:test.
    
  2. ใน XML ของนโยบายการแปลง XSL ที่ล้มเหลว ให้ตรวจสอบว่าประเภทของทรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ไม่ใช่ประเภท xsl หากไม่ใช่ประเภท xsl แสดงว่านั่นคือสาเหตุของข้อผิดพลาด

    ตัวอย่างเช่น นโยบายต่อไปนี้ระบุประเภทที่ไม่ใช่ xsl ในองค์ประกอบ <ResourceURL>

    <?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 ของทรัพยากรระบุเป็น jsc://my_transform.xsl ซึ่งไม่ใช่ประเภท xsl การติดตั้งใช้งานพร็อกซี API จึงล้มเหลวพร้อมข้อผิดพลาดต่อไปนี้

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

ความละเอียด

ตรวจสอบว่าประเภททรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ของนโยบาย XSL Transform เป็นประเภท 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>