Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X. info
InvalidResourceType
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
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.
Exemple de message d'erreur
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.
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si l'élément <ResourceURL>
de la règle SOAPMessageValidation est défini sur un type de ressource non compatible avec la règle. Les types de ressources compatibles sont xsd
et wsdl
.
Diagnostic
Identifiez le nom de la règle SOAPMessageValidation et le type de ressource non valide utilisé dans l'élément
<ResourceURL>
de la règle. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle SOAPMessageValidation estSOAP-Message-Validation-1
et le type de ressource estpy
.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.
Examinez le fichier XML de la règle SOAP défaillante. Si le type de ressource spécifié pour l'élément
<ResourceURL>
correspond au type de ressource non valide identifié à l'étape 1 ci-dessus, il s'agit de la cause de l'erreur.Par exemple, la règle suivante spécifie le type de ressource en tant que
py
, qui correspond au contenu du message d'erreur :<?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>
Comme le type de ressource utilisé dans
<ResourceURL>
n'est pasxsd
ouwsdl
, le déploiement échouera avec l'erreur ci-dessus.
Solution
Assurez-vous que le type de ressource spécifié dans l'élément <ResourceURL>
de la règle SOAPMessageValidation est défini sur xsd
ou wsdl
et que le format du type de ressource est correct.
Pour corriger l'exemple de règle SOAPMessageValidation affiché ci-dessus, vous pouvez remplacer le type de ressource par xsd
ou 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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
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.
Exemple de message d'erreur
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.
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si le script de ressource référencé dans l'élément <ResourceURL>
de la règle SOAPMessageValidation contient une erreur qui empêche sa compilation pendant le déploiement.
Diagnostic
Identifiez le nom de la règle SOAPMessageValidation et le script de ressource utilisé dans la règle. Ces deux éléments se trouvent dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle SOAPMessageValidation est
SOAP-Message-Validation-1
et le script de ressource estSOAP-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.
Examinez le fichier XML de la règle SOAPMessageValidation défaillante et vérifiez que le script de ressource spécifié pour l'élément
<ResourceURL>
correspond au contenu du message d'erreur.Par exemple, la règle suivante spécifie l'élément
<ResourceURL>
en tant queSOAP-Message-Validation-1.wsdl
, ce qui correspond au contenu du message d'erreur :<?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>
Affichez le fichier de script de ressource identifié à l'étape 1 et vérifiez s'il existe des problèmes potentiels pouvant entraîner des erreurs de compilation.
Voici un exemple de fichier de script de ressource :
<?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>
Comme
xmlns:wsdl
pointe vers une URL non valide, le déploiement échoue et renvoie l'erreur ci-dessus.
Solution
Assurez-vous que le script de ressource spécifié dans l'élément <ResourceURL>
de la règle SOAPMessageValidation ne présente aucun problème empêchant sa compilation.
Pour corriger le script SOAP-Message-Validation-1.wsdl
présenté ci-dessus, vous pouvez modifier la valeur xmlns:wsdl
pour qu'elle pointe vers une URL valide :
<?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
Message d'erreur
L'enregistrement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Exemple de message d'erreur
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si l'élément <Element>
de la règle SOAP ne contient pas le nom de l'élément racine.
Diagnostic
Identifiez le nom de la règle SOAPMessageValidation où l'erreur s'est produite. Par exemple, dans l'erreur suivante, le nom de la règle SOAPMessageValidation est
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Examinez le fichier XML de la règle SOAP défaillante. Si le nom de l'élément racine utilisé pour la validation n'est pas spécifié dans l'élément
<Element>
, il s'agit de la cause de l'erreur.Par exemple, la règle suivante ne spécifie pas le nom de l'élément racine :
<?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>
Comme le nom de l'élément racine n'est pas spécifié, le déploiement échoue avec l'erreur ci-dessus.
Solution
Vérifiez que l'élément <Element>
de la règle SOAPMessageValidation contient l'élément racine approprié.
Pour corriger la règle SOAPMessageValidation affichée ci-dessus, vous pouvez modifier le champ <Element>
et ajouter un élément racine valide comme suit :
<?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
Message d'erreur
L'enregistrement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Exemple de message d'erreur
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si l'élément <Element>
de la règle SOAPMessageValidation contient un nom d'élément racine qui ne respecte pas les règles XML de dénomination d'élément valide.
Diagnostic
Identifiez le nom de la règle SOAPMessageValidation où l'erreur s'est produite. Par exemple, dans l'erreur suivante, le nom de la règle SOAPMessageValidation est
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Examinez le fichier XML de la règle SOAP défaillante. Si le nom de l'élément racine spécifié dans l'élément
<Element>
ne correspond pas aux critères de validité de nom d'élément XML, il s'agit de la cause de l'erreur.Par exemple, la règle suivante comporte un nom d'élément racine commençant par un nombre, ce qui est incorrect. Un nom d'élément contenant des espaces est également incorrect.
<?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>
Solution
Assurez-vous que l'élément <Element>
de la règle SOAPMessageValidation contient un nom d'élément racine valide.
Pour corriger la règle SOAPMessageValidation présentée ci-dessus, vous pouvez modifier l'élément <Element>
afin qu'il contienne un nom d'élément racine valide, comme indiqué ci-dessous :
<?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
Message d'erreur
Le déploiement du proxy d'API via l'interface utilisateur Edge ou l'API de gestion Edge échoue avec ce message d'erreur:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Exemple de message d'erreur
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Exemple de capture d'écran d'erreur
Cause
Cette erreur se produit si le fichier de ressources spécifié dans l'élément <Resource>
de la règle SOAPMessageValidation ne contient aucun élément pouvant être utilisé pour la validation.
Diagnostic
Identifiez les définitions d'éléments manquantes du fichier de ressources dans le message d'erreur. Par exemple, dans l'erreur suivante, le fichier de ressources utilisé dans est
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Examinez le fichier de ressources identifié à l'étape 1. Si aucun élément n'est défini, il s'agit de la cause de l'erreur.
Par exemple, le fichier de ressources
Script-1.xsd
ne contient aucun élément :<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Comme le fichier de ressources ne comporte aucun élément, le déploiement échoue et renvoie l'erreur ci-dessus.
Solution
Assurez-vous que le fichier de ressources utilisé dans la règle SOAPMessageValidation contient les définitions d'éléments appropriées.
Pour corriger l'exemple de fichier de ressources présenté ci-dessus, vous pouvez modifier le fichier xsd
afin d'ajouter le contenu suivant :
<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>