Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
InvalidResourceType
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Deploying Revision revision_number to environment MessageValidation soap_message_validation_policy: Invalid Resource Type resource_type. It should be xsd or wsdl. Context Revision:revision_number;APIProxy:apiproxy_name;Organization:organization;Environment:environment.
Ví dụ về thông báo lỗi
Error Deploying Revision 1 to test
MessageValidation SOAP-Message-Validation-1: Invalid Resource Type py.
It should be xsd or wsdl. Context Revision:1;APIProxy:soapmessagevalidation;
Organization:gsc-hipaa;Environment:test.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu phần tử <ResourceURL>
trong chính sách SOAPMessageValidation được đặt thành một loại tài nguyên không được chính sách này hỗ trợ. Các loại tài nguyên được hỗ trợ là xsd
và wsdl
.
Chẩn đoán
Xác định tên chính sách SOAPMessageValidation và loại tài nguyên không hợp lệ dùng trong phần tử
<ResourceURL>
của chính sách này. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách SOAPMessageValidation làSOAP-Message-Validation-1
và loại tài nguyên làpy
.Error Deploying Revision 1 to test MessageValidation SOAP-Message-Validation-1: Invalid Resource Type py. It should be xsd or wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc- hipaa;Environment:test.
Kiểm tra tệp XML chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) bị lỗi. Nếu loại tài nguyên được chỉ định cho phần tử
<ResourceURL>
khớp với loại tài nguyên không hợp lệ được xác định trong Bước 1 ở trên, thì đó là nguyên nhân gây ra lỗi.Ví dụ: chính sách sau đây chỉ định loại tài nguyên là
py
và khớp với nội dung trong thông báo lỗi:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://sample.com"> sampleObject</Element> <SOAPMessage/> <Source>request</Source> <ResourceURL>py://Script-1.py</ResourceURL> </MessageValidation>
Vì loại tài nguyên dùng trong
<ResourceURL>
không phải làxsd
hoặcwsdl
, thì việc triển khai sẽ không thành công kèm theo lỗi nêu trên.
Độ phân giải
Hãy đảm bảo rằng loại tài nguyên được chỉ định trong phần tử <ResourceURL>
của chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) được đặt thành xsd
hoặc wsdl
và tệp tài nguyên sử dụng đúng định dạng.
Để sửa chính sách SOAPMessageValidation ví dụ hiển thị ở trên, bạn có thể sửa đổi loại tài nguyên thành xsd
hoặc wsdl
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true"
name="SOAP-Message-Validation-1">
<DisplayName>SOAP Message Validation-1</DisplayName>
<Properties/>
<Element namespace="http://sample.com"> sampleObject</Element>
<SOAPMessage/>
<Source>request</Source>
<ResourceURL>wsdl://SOAP-Message-Validation-1.wsdl</ResourceURL>
</MessageValidation>
ResourceCompileFailed
Thông báo Lỗi
Thông báo lỗi sau không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge:
Error Deploying Revision revision_number to environment MessageValidation soap_message_validation_policy: Failed to compile resource resource. Context Revision:revision_number;APIProxy:apiproxy_name;Organization:organization;Environment:environment.
Ví dụ về thông báo lỗi
Error Deploying Revision 1 to test
MessageValidation SOAP-Message-Validation-1: Failed to compile resource SOAP-Message-Validation-1.wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc-hipaa;Environment:test.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu tập lệnh tài nguyên được tham chiếu trong phần tử <ResourceURL>
của chính sách SOAPMessageValidation (Xác thực tài nguyên) chứa lỗi khiến tập lệnh này không thể biên dịch trong quá trình triển khai.
Chẩn đoán
Xác định tên chính sách SOAPMessageValidation và tập lệnh tài nguyên dùng trong chính sách này. Bạn có thể tìm thấy cả hai mục này trong thông báo lỗi. Ví dụ: trong lỗi sau, tên chính sách SOAPMessageValidation là
SOAP-Message-Validation-1
và tập lệnh tài nguyên làSOAP-Message-Validation-1.wsdl
.Error Deploying Revision 1 to test MessageValidation SOAP-Message-Validation-1: Failed to compile resource SOAP-Message-Validation-1.wsdl. Context Revision:1;APIProxy:soapmessagevalidation;Organization:gsc-hipaa; Environment:test.
Kiểm tra XML của chính sách SOAPMessageValidation (Xác thực tài nguyên) bị lỗi và xác minh rằng tập lệnh tài nguyên được chỉ định cho phần tử
<ResourceURL>
khớp với nội dung trong thông báo lỗi.Ví dụ: chính sách sau đây chỉ định phần tử
<ResourceURL>
làSOAP-Message-Validation-1.wsdl
, khớp với phần tử trong thông báo lỗi:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://sample.com"> sampleObject</Element> <SOAPMessage/> <Source>request</Source> <ResourceURL>wsdl://SOAP-Message-Validation-1.wsdl</ResourceURL> </MessageValidation>
Xem tệp tập lệnh tài nguyên được xác định ở Bước 1 và xem có tệp nào các vấn đề tiềm ẩn có thể dẫn đến lỗi biên dịch.
Dưới đây là tệp tập lệnh tài nguyên mẫu:
<?xml version="1.0" encoding="ISO-8859-1"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsd/"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="request" type="xs:string"/> </xs:schema> </wsdl:types> </wsdl:definitions>
Vì
xmlns:wsdl
trỏ đến một URL không hợp lệ nên quá trình triển khai sẽ không thành công với lỗi hiển thị ở trên.
Độ phân giải
Đảm bảo rằng tập lệnh tài nguyên được chỉ định trong phần tử <ResourceURL>
của phần tử
Chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) không có bất kỳ vấn đề nào ngăn cản quá trình biên dịch.
Để sửa tập lệnh SOAP-Message-Validation-1.wsdl
hiện ở trên, bạn có thể
sửa đổi xmlns:wsdl
để trỏ đến một URL hợp lệ:
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="request" type="xs:string"/>
</xs:schema>
</wsdl:types>
</wsdl:definitions>
RootElementNameUnspecified
Thông báo Lỗi
Không lưu được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Ví dụ về thông báo lỗi
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu phần tử <Element>
trong chính sách SOAPMessageValidation
không chứa tên của phần tử gốc.
Chẩn đoán
Xác định tên chính sách SOAPMessageValidation nơi lỗi xảy ra. Cho ví dụ: trong lỗi sau, tên chính sách SOAPMessageValidation là
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Kiểm tra tệp XML chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) bị lỗi. Nếu tên phần tử gốc không được chỉ định trong phần tử
<Element>
, thì đó là nguyên nhân gây ra lỗi.Ví dụ: Chính sách sau đây không chỉ định tên phần tử gốc:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://schemas.xmlsoap.org/soap/prices"/> <SOAPMessage/> <Source>request</Source> <ResourceURL>xsd://Script-1.xsd</ResourceURL> </MessageValidation>
Vì tên phần tử gốc chưa được chỉ định nên quá trình triển khai sẽ không thành công kèm theo lỗi nêu trên.
Độ phân giải
Đảm bảo rằng phần tử <Element>
của chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) chứa
đúng phần tử gốc.
Để sửa chính sách SOAPMessageValidation nêu trên, bạn có thể sửa đổi
<Element>
và thêm phần tử gốc hợp lệ như dưới đây:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true"
name="SOAP-Message-Validation-1">
<DisplayName>SOAP Message Validation-1</DisplayName>
<Properties/>
<Element namespace="http://schemas.xmlsoap.org/soap/prices">GetPriceResponse</Element>
<SOAPMessage/>
<Source>request</Source>
<ResourceURL>xsd://Script-1.xsd</ResourceURL>
</MessageValidation>
InvalidRootElementName
Thông báo Lỗi
Không lưu được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Ví dụ về thông báo lỗi
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu phần tử <Element>
trong chính sách SOAPMessageValidation
chứa tên phần tử gốc không tuân thủ các quy tắc XML cho phần tử hợp lệ
khi đặt tên.
Chẩn đoán
Xác định tên chính sách SOAPMessageValidation nơi lỗi xảy ra. Ví dụ: trong lỗi sau, tên chính sách SOAPMessageValidation là
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Kiểm tra tệp XML chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) bị lỗi. Nếu tên phần tử gốc được chỉ định trong phần tử
<Element>
không phù hợp với tiêu chí cho một XML hợp lệ tên phần tử, thì đó là nguyên nhân gây ra lỗi.Ví dụ: chính sách sau đây có tên phần tử gốc bắt đầu bằng số này không hợp lệ. Tên phần tử chứa dấu cách cũng sẽ không hợp lệ.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://schemas.xmlsoap.org/soap/prices">1GetPriceResponse</Element> <SOAPMessage/> <Source>request</Source> <ResourceURL>xsd://Script-1.xsd</ResourceURL> </MessageValidation>
Độ phân giải
Đảm bảo rằng phần tử <Element>
của chính sách SOAPMessageValidation (Xác thực SOAPMessageValidation) chứa
tên phần tử gốc hợp lệ.
Để sửa chính sách SOAPMessageValidation nêu trên, bạn có thể sửa đổi
Phần tử <Element>
chứa tên phần tử gốc hợp lệ như minh hoạ dưới đây:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageValidation async="false" continueOnError="false" enabled="true" name="SOAP-Message-Validation-1">
<DisplayName>SOAP Message Validation-1</DisplayName>
<Properties/>
<Element namespace="http://schemas.xmlsoap.org/soap/prices">GetPriceResponse</Element>
<SOAPMessage/>
<Source>request</Source>
<ResourceURL>xsd://Script-1.xsd</ResourceURL>
</MessageValidation>
NoElements
Thông báo Lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge kèm theo thông báo lỗi sau:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Ví dụ về thông báo lỗi
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Ví dụ về ảnh chụp màn hình báo lỗi
Nguyên nhân
Lỗi này xảy ra nếu tệp tài nguyên được chỉ định trong phần tử <Resource>
của
chính sách SOAPMessageValidation không chứa bất kỳ phần tử nào có thể dùng được
để xác thực.
Chẩn đoán
Xác định tệp tài nguyên bị thiếu định nghĩa phần tử trong thông báo lỗi. Ví dụ: trong lỗi sau, tệp tài nguyên được dùng trong là
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Kiểm tra tệp tài nguyên được xác định ở Bước 1. Nếu không có phần tử nào được xác định, thì đó là nguyên nhân gây ra lỗi.
Ví dụ: tệp tài nguyên
Script-1.xsd
sau đây không chứa bất kỳ phần tử nào:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Vì tệp tài nguyên không có phần tử nào nên việc triển khai sẽ không thành công với lỗi nêu trên.
Độ phân giải
Đảm bảo rằng tệp tài nguyên dùng trong chính sách SOAPMessageValidation định nghĩa các phần tử có liên quan.
Để sửa tệp tài nguyên mẫu nêu trên, bạn có thể sửa đổi tệp xsd
để thêm nội dung sau:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="shipOrder" type="order"/>
<xsd:complexType name="order">
<xsd:sequence>
<xsd:element name="shipTo" type="shipAddress"/>
<xsd:element name="items" type="cdItems"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="shipAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="address" type="xsd:string"/>
<xsd:element name="country" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cdItems">
<xsd:sequence>
<xsd:element name="item" type="cdItem" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="cdItem">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="quantity" type="xsd:integer"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>