Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
InvalidResourceType
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:
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.
Przykładowy komunikat o błędzie
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.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli element <ResourceURL>
w zasadach SOAPMessageValidation ma wartość typu zasobu, który nie jest obsługiwany przez te zasady. Obsługiwane typy zasobów to xsd
i wsdl
.
Diagnostyka
Zidentyfikuj nazwę zasady SOAPMessageValidation i nieprawidłowy typ zasobu użyty w elemencie
<ResourceURL>
zasady. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady SOAPMessageValidation toSOAP-Message-Validation-1
, a typ zasobu topy
.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.
Sprawdź kod XML zasad SOAPMessageValidation, które nie zostały zaakceptowane. Jeśli typ zasobu określony dla elementu
<ResourceURL>
pasuje do nieprawidłowego typu zasobu zidentyfikowanego w kroku 1 powyżej, jest to przyczyna błędu.Na przykład w tej polityce typ zasobu to
py
, co jest zgodne z informacją w komunikacie o błędzie:<?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>
Ponieważ typ zasobu używany w elementach
<ResourceURL>
nie jestxsd
aniwsdl
, wdrażanie zakończy się niepowodzeniem z powyżej wymienionym błędem.
Rozdzielczość
Upewnij się, że typ zasobu określony w elemencie <ResourceURL>
zasady SOAPMessageValidation ma wartość xsd
lub wsdl
i że plik zasobu ma prawidłowe formatowanie.
Aby poprawić przykładową zasadę SOAPMessageValidation widoczną powyżej, możesz zmienić typ zasobu na xsd
lub 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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:
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.
Przykładowy komunikat o błędzie
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.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli skrypt zasobu, na który wskazuje element <ResourceURL>
w zasadach SOAPMessageValidation, zawiera błąd uniemożliwiający jego skompilowanie podczas wdrażania.
Diagnostyka
Określ nazwę zasady SOAPMessageValidation i skrypt zasobu używany w tej zasadzie. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady SOAPMessageValidation to
SOAP-Message-Validation-1
, a skrypt zasobu toSOAP-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.
Sprawdź kod XML zasady SOAPMessageValidation, która nie działa, i sprawdź, czy skrypt zasobu określony dla elementu
<ResourceURL>
jest zgodny z informacjami podanymi w komunikacie o błędzie.Na przykład w tej polityce element
<ResourceURL>
ma wartośćSOAP-Message-Validation-1.wsdl
, która jest zgodna z wartością w komunikacie o błędzie:<?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>
Wyświetl plik skryptu zasobu z kroku 1 i sprawdź, czy występują w nim potencjalne problemy, które mogą powodować błędy kompilacji.
Oto przykładowy plik skryptu zasobu:
<?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>
Ponieważ
xmlns:wsdl
wskazuje na nieprawidłowy adres URL, wdrożenie zakończy się niepowodzeniem z wyświetlonym powyżej błędem.
Rozdzielczość
Upewnij się, że skrypt zasobu podany w elemencie <ResourceURL>
zasady SOAPMessageValidation nie ma żadnych problemów uniemożliwiających jego skompilowanie.
Aby poprawić widoczny powyżej skrypt SOAP-Message-Validation-1.wsdl
, możesz zmodyfikować xmlns:wsdl
tak, by wskazywał prawidłowy URL:
<?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
Komunikat o błędzie
Zapisywanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i pojawia się ten komunikat o błędzie:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Przykładowy komunikat o błędzie
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli element <Element>
w polityce SOAPMessageValidation nie zawiera nazwy elementu.
Diagnostyka
Identyfikuje nazwę zasady SOAPMessageValidation, w której wystąpił błąd. Na przykład w przypadku tego błędu nazwa zasady SOAPMessageValidation to
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Sprawdź kod XML zasad SOAPMessageValidation, które nie zostały zaakceptowane. Jeśli w elemencie
<Element>
nie jest określone imię elementu katalogu, który jest używany do walidacji, to jest to przyczyna błędu.Na przykład te zasady nie określają nazwy elementu katalogu katalogu katalogu:
<?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>
Ponieważ nie podano nazwy elementu głównego, wdrożenie zakończy się niepowodzeniem z powyżej wymienionym błędem.
Rozdzielczość
Upewnij się, że element <Element>
w zasadzie SOAPMessageValidation zawiera prawidłowy element główny.
Aby poprawić pokazaną powyżej zasadę SOAPMessageValidation, możesz zmodyfikować <Element>
i dodać prawidłowy element główny w ten sposób:
<?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
Komunikat o błędzie
Zapisywanie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i pojawia się ten komunikat o błędzie:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Przykładowy komunikat o błędzie
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli element <Element>
w zasadzie SOAPMessageValidation zawiera nazwę elementu głównego, która nie jest zgodna z zasadami XML dotyczącymi prawidłowej nazwy elementu.
Diagnostyka
Identyfikuje nazwę zasady SOAPMessageValidation, w której wystąpił błąd. Na przykład w przypadku tego błędu nazwa zasady SOAPMessageValidation to
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Sprawdź kod XML polityki SOAPMessageValidation, która nie przeszła walidacji. Jeśli nazwa elementu głównego podana w elemencie
<Element>
nie spełnia kryteriów prawidłowej nazwy elementu XML, jest to przyczyna błędu.Na przykład w poniższej zasadzie nazwa elementu głównego zaczyna się od liczby, która jest nieprawidłowa. Nazwa elementu zawierająca spacje również byłaby nieprawidłowa.
<?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>
Rozdzielczość
Upewnij się, że element <Element>
w zasadzie SOAPMessageValidation zawiera prawidłową nazwę elementu głównego.
Aby poprawić zasadę SOAPMessageValidation, możesz zmodyfikować element <Element>
, aby zawierał prawidłową nazwę elementu wyższego poziomu, jak pokazano poniżej:
<?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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli plik zasobów określony w elemencie <Resource>
zasady SOAPMessageValidation nie zawiera żadnych elementów, które można wykorzystać do weryfikacji.
Diagnostyka
Na podstawie komunikatu o błędzie określ plik zasobów, w którym brakuje definicji elementów. Na przykład w poniższym błędzie plik zasobów użyty w funkcji to
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Sprawdź plik zasobu zidentyfikowany w kroku 1. Jeśli nie ma zdefiniowanych elementów, to jest przyczyna błędu.
Na przykład ten plik zasobów
Script-1.xsd
nie zawiera żadnych elementów:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Plik zasobów nie zawiera żadnych elementów, dlatego wdrożenie nie powiedzie się z powodu opisanego powyżej błędu.
Rozdzielczość
Upewnij się, że plik zasobu używany w zasadach SOAPMessageValidation zawiera odpowiednie definicje elementów.
Aby poprawić przykładowy plik zasobu pokazany powyżej, możesz zmodyfikować plik xsd
, aby dodać do niego następujące treści:
<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>