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

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

XSLEmptyResourceUrl

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

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ API การจัดการ Edge ล้มเหลวพร้อมข้อความแสดงข้อผิดพลาดนี้

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

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

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

สาเหตุ

หากองค์ประกอบ <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 หรือ API การจัดการ Edge ล้มเหลวพร้อมข้อความแสดงข้อผิดพลาดนี้

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.

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

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

สาเหตุ

หากประเภททรัพยากรที่ระบุในองค์ประกอบ <ResourceURL> ของนโยบายการแปลง XSL ไม่ใช่ประเภท 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 Transformation เป็นประเภท 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>