Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
InvalidResourceType
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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.
Esempio di messaggio di errore
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.
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <ResourceURL>
nel criterio SOAPMessageValidation è impostato su un tipo di risorsa non supportato dal criterio. I tipi di risorse supportati sono xsd
e wsdl
.
Diagnostica
Identifica il nome del criterio SOAPMessageValidation e il tipo di risorsa non valido utilizzato nell'elemento
<ResourceURL>
del criterio. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio SOAPMessageValidation èSOAP-Message-Validation-1
e il tipo di risorsa è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.
Esamina il codice XML del criterio SOAPMessageValidation non riuscito. Se il tipo di risorsa specificato per l'elemento
<ResourceURL>
corrisponde al tipo di risorsa non valido identificato nel passaggio 1 precedente, questo è il motivo dell'errore.Ad esempio, il seguente criterio specifica il tipo di risorsa come
py
, che corrisponde al messaggio di errore:<?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>
Poiché il tipo di risorsa utilizzato in
<ResourceURL>
non èxsd
owsdl
, il deployment non andrà a buon fine con l'errore mostrato sopra.
Risoluzione
Assicurati che il tipo di risorsa specificato nell'elemento <ResourceURL>
del criterio SOAPMessageValidation sia impostato su xsd
o wsdl
e che il file delle risorse utilizzi la formattazione corretta.
Per correggere il criterio di esempio SOAPMessageValidation mostrato sopra, puoi modificare il tipo di risorsa in xsd
o 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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.
Esempio di messaggio di errore
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.
Screenshot di errore di esempio
Causa
Questo errore si verifica se lo script della risorsa a cui viene fatto riferimento nell'elemento <ResourceURL>
del criterio SOAPMessageValidation contiene un errore che ne impedisce la compilazione durante il deployment.
Diagnostica
Identifica il nome del criterio SOAPMessageValidation e lo script della risorsa utilizzato nel criterio. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio SOAPMessageValidation è
SOAP-Message-Validation-1
e lo script della risorsa è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.
Esamina il codice XML del criterio SOAPMessageValidation non riuscito e verifica che lo script della risorsa specificato per l'elemento
<ResourceURL>
corrisponda al messaggio di errore.Ad esempio, il seguente criterio specifica l'elemento
<ResourceURL>
comeSOAP-Message-Validation-1.wsdl
, che corrisponde al messaggio di errore:<?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>
Visualizza il file di script delle risorse identificato nel passaggio 1 e controlla se ci sono potenziali problemi che possono causare errori di compilazione.
Ecco un esempio di file di script di risorse:
<?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>
Poiché
xmlns:wsdl
rimanda a un URL non valido, il deployment non andrà a buon fine con l'errore mostrato sopra.
Risoluzione
Assicurati che lo script della risorsa specificato nell'elemento <ResourceURL>
del criterio SOAPMessageValidation non presenti problemi che ne impediscono la compilazione.
Per correggere lo script SOAP-Message-Validation-1.wsdl
mostrato sopra, puoi modificare xmlns:wsdl
in modo che rimandi a un URL valido:
<?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
Messaggio di errore
Il salvataggio del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Esempio di messaggio di errore
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <Element>
nel criterio SOAPMessageValidation non contiene il nome dell'elemento principale.
Diagnostica
Identifica il nome del criterio SOAPMessageValidation in cui si è verificato l'errore. Ad esempio, nel seguente errore, il nome del criterio SOAPMessageValidation è
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Esamina il codice XML del criterio SOAPMessageValidation non riuscito. Se il nome dell'elemento principale utilizzato per la convalida non è specificato nell'elemento
<Element>
, è questo il motivo dell'errore.Ad esempio, il seguente criterio non specifica il nome dell'elemento principale:
<?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>
Poiché il nome dell'elemento principale non è specificato, il deployment non andrà a buon fine con l'errore mostrato sopra.
Risoluzione
Assicurati che l'elemento <Element>
del criterio SOAPMessageValidation contenga l'elemento radice corretto.
Per correggere il criterio SOAPMessageValidation mostrato sopra, puoi modificare <Element>
e aggiungere un elemento radice valido come indicato di seguito:
<?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
Messaggio di errore
Il salvataggio del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e viene visualizzato questo messaggio di errore:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Esempio di messaggio di errore
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <Element>
nel criterio SOAPMessageValidation contiene un nome dell'elemento principale che non rispetta le regole XML per la denominazione valida degli elementi.
Diagnostica
Identifica il nome del criterio SOAPMessageValidation in cui si è verificato l'errore. Ad esempio, nel seguente errore, il nome del criterio SOAPMessageValidation è
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Esamina il codice XML del criterio SOAPMessageValidation non riuscito. Se il nome dell'elemento principale specificato nell'elemento
<Element>
non corrisponde ai criteri per il nome di un elemento XML valido, allora è questa la causa dell'errore.Ad esempio, il seguente criterio ha un nome di elemento principale che inizia con un numero, che non è valido. Anche un nome di elemento contenente spazi non sarebbe valido.
<?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>
Risoluzione
Assicurati che l'elemento <Element>
del criterio SOAPMessageValidation contenga un nome dell'elemento radice valido.
Per correggere il criterio SOAPMessageValidation mostrato sopra, puoi modificare l'elemento <Element>
in modo che contenga un nome dell'elemento principale valido, come mostrato di seguito:
<?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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e viene visualizzato questo messaggio di errore:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Esempio di messaggio di errore
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Screenshot di errore di esempio
Causa
Questo errore si verifica se il file di risorse specificato nell'elemento <Resource>
del criterio SOAPMessageValidation non contiene elementi utilizzabili per la convalida.
Diagnostica
Identifica il file delle risorse che non contiene le definizioni degli elementi dal messaggio di errore. Ad esempio, nel seguente errore, il file di risorse utilizzato in è
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Esamina il file di risorse identificato nel passaggio 1. Se non ci sono elementi definiti, è questa la causa dell'errore.
Ad esempio, il seguente file di risorse
Script-1.xsd
non contiene alcun elemento:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Poiché il file delle risorse non contiene alcun elemento, il deployment non andrà a buon fine e verrà restituito l'errore mostrato sopra.
Risoluzione
Assicurati che il file delle risorse utilizzato nel criterio SOAPMessageValidation contenga le definizioni degli elementi pertinenti.
Per correggere il file di risorse di esempio mostrato sopra, puoi modificare il file xsd
per aggiungere il seguente contenuto:
<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>