Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
InvalidResourceType
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
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.
Beispiel für Fehlermeldung
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.
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn für das <ResourceURL>
-Element in der Richtlinie "SOAPMessageValidation" ein Ressourcentyp festgelegt ist, der von der Richtlinie nicht unterstützt wird. Unterstützte Ressourcentypen sind xsd
und wsdl
.
Diagnose
Ermitteln Sie den Namen für die SOAPMessageValidation-Richtlinie sowie den ungültigen Ressourcentyp, der im
<ResourceURL>
-Element der Richtlinie verwendet wird. Sie finden beides in der Fehlermeldung. Beispielsweise lautet in der folgenden Fehlermeldung der Name der SOAPMessageValidation-RichtlinieSOAP-Message-Validation-1
und der Ressourcentyppy
.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.
Prüfen Sie die XML-Datei der fehlerhaften SOAPMessageValidation-Richtlinie. Wenn der für das
<ResourceURL>
-Element angegebene Ressourcentyp dem in Schritt 1 ermittelten ungültigen Ressourcentyp entspricht, ist dies die Fehlerursache.Die folgende Richtlinie legt beispielsweise für den Ressourcentyp
py
fest. Dies entspricht den Angaben in der Fehlermeldung:<?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>
Da der in
<ResourceURL>
verwendete Ressourcentyp nichtxsd
oderwsdl
ist, schlägt die Bereitstellung mit dem oben gezeigten Fehler fehl.
Lösung
Achten Sie darauf, dass der Ressourcentyp, der im <ResourceURL>
-Element der SOAPMessageValidation-Richtlinie angegeben ist, entweder xsd
oder wsdl
lautet und dass die Ressourcendatei das richtige Format hat.
Um die oben angezeigte SOAPMessageValidation-Beispielrichtlinie zu korrigieren, können Sie den Ressourcentyp entweder in xsd
oder wsdl
ändern:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
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.
Beispiel für Fehlermeldung
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.
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn das Ressourcenskript, auf das im <ResourceURL>
-Element der SOAPMessageValidation-Richtlinie verwiesen wird, einen Fehler enthält, der das Zusammenstellen der Ressourcen während der Bereitstellung verhindert.
Diagnose
Ermitteln Sie den Namen der SOAPMessageValidation-Richtlinie und das in der Richtlinie verwendete Ressourcenskript. Sie finden beides in der Fehlermeldung. In der folgenden Fehlermeldung lautet beispielsweise der Name der SOAPMessageValidation-Richtlinie
SOAP-Message-Validation-1
und das RessourcenskriptSOAP-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.
Prüfen Sie die fehlerhafte XML-Datei der SOAPMessageValidation-Richtlinie und stellen Sie sicher, dass das für das Element
<ResourceURL>
angegebene Ressourcenskript mit dem in der Fehlermeldung übereinstimmt.Die folgende Richtlinie gibt beispielsweise das Element
<ResourceURL>
alsSOAP-Message-Validation-1.wsdl
an, was dem Inhalt der Fehlermeldung entspricht:<?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>
Rufen Sie die in Schritt 1 ermittelte Ressourcenskriptdatei auf und prüfen Sie, ob ein Problem vorliegt, das zu Fehlern bei der Zusammenstellung führen kann.
Im Folgenden sehen Sie eine Beispieldatei für ein Ressourcenskript:
<?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>
Da
xmlns:wsdl
auf eine ungültige URL verweist, schlägt die Bereitstellung mit dem obigen Fehler fehl.
Lösung
Achten Sie darauf, dass das im Element <ResourceURL>
angegebene Ressourcenskript der SOAPMessageValidation-Richtlinie keine Probleme aufweist, die es an einer Kompilierung hindern.
Zur Korrektur des oben gezeigten SOAP-Message-Validation-1.wsdl
-Skripts können Sie xmlns:wsdl
ändern und auf eine gültige URL verweisen:
<?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>
RootElementName nicht angegeben
Fehlermeldung
Das Speichern eines API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Beispiel für Fehlermeldung
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn das Element <Element>
in der SOAPMessageValidation-Richtlinie nicht den Namen des Stammelements enthält.
Diagnose
Ermitteln Sie den Namen der SOAPMessageValidation-Richtlinie, in der der Fehler aufgetreten ist. In der folgenden Fehlermeldung lautet der Name der SOAPMessageValidation-Richtlinie beispielsweise
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Prüfen Sie die XML-Datei der fehlerhaften SOAPMessageValidation-Richtlinie. Wenn der für die Validierung verwendete Name des Stammelements nicht für das
<Element>
-Element angegeben ist, ist dies die Fehlerursache.Die folgende Richtlinie legt beispielsweise nicht den Namen des Stammelements fest:
<?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>
Da kein Name für das Stammelement angegeben ist, schlägt die Bereitstellung mit dem obigen Fehler fehl.
Lösung
Achten Sie darauf, dass das Element <Element>
der SOAPMessageValidation-Richtlinie das richtige Stammelement enthält.
Um die oben angezeigte SOAPMessageValidation-Richtlinie zu korrigieren, können Sie <Element>
ändern und ein gültiges Stammelement hinzufügen:
<?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
Fehlermeldung
Das Speichern eines API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Beispiel für Fehlermeldung
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn das Element <Element>
in der SOAPMessageValidation-Richtlinie einen Stammelementnamen enthält, der nicht den XML-Regeln für gültige Elementnamen entspricht.
Diagnose
Ermitteln Sie den Namen der SOAPMessageValidation-Richtlinie, in der der Fehler aufgetreten ist. In der folgenden Fehlermeldung lautet beispielsweise der Name der SOAPMessageValidation-Richtlinie
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Prüfen Sie die XML-Datei der fehlerhaften SOAPMessageValidation-Richtlinie. Wenn der im
<Element>
-Element angegebene Stammelementname nicht mit den Kriterien für einen gültigen XML-Elementnamen übereinstimmt, ist dies der Grund für den Fehler.Die folgende Richtlinie hat beispielsweise einen Stammelementnamen, der mit einer ungültigen Ziffer beginnt. Ein Elementname mit Leerzeichen ist ebenfalls ungültig.
<?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>
Lösung
Achten Sie darauf, dass das Element <Element>
der SOAPMessageValidation-Richtlinie einen gültigen Stammelementnamen enthält.
Um die oben dargestellte SOAPMessageValidation-Richtlinie zu korrigieren, können Sie das <Element>
-Element so ändern, dass es einen gültigen Namen für das Stammelement enthält:
<?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>
Keine Elemente
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Beispiel für Fehlermeldung
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Beispiel für einen Fehler-Screenshot
Ursache
Dieser Fehler tritt auf, wenn die Ressourcendatei, die im <Resource>
-Element der SOAPMessageValidation-Richtlinie angegeben ist, keine Elemente enthält, die für die Validierung verwendet werden können.
Diagnose
Ermitteln Sie in der Fehlermeldung die Ressourcendatei mit den fehlenden Elementdefinitionen. In der folgenden Fehlermeldung lautet die verwendete Ressourcendatei beispielsweise
xsd://Script-1.xsd
.Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Prüfen Sie die in Schritt 1 ermittelte Ressourcendatei. Wenn keine Elemente definiert sind, ist dies die Fehlerursache.
Die folgende Ressourcendatei
Script-1.xsd
enthält beispielsweise keine Elemente:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Da die Ressourcendatei keine Elemente enthält, schlägt die Bereitstellung mit dem oben angezeigten Fehler fehl.
Lösung
Prüfen Sie, ob die in der SOAPMessageValidation-Richtlinie verwendete Ressourcendatei die relevanten Elementdefinitionen enthält.
Zur Korrektur der oben dargestellten Beispiel-Ressourcendatei können Sie die Datei xsd
ändern und den folgenden Inhalt hinzufügen:
<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>