Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X. Más información
InvalidResourceType
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
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.
Ejemplo de mensaje de error
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.
Captura de pantalla de error de ejemplo
Causa
Este error se produce si el elemento <ResourceURL>
en la política SOAPMessageValidation se establece como un tipo de recurso que no es compatible con la política. Los tipos de recursos compatibles son xsd
y wsdl
.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation y el tipo de recurso no válido que se usa en el elemento
<ResourceURL>
de la política. Puedes encontrar ambos elementos en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política SOAPMessageValidation esSOAP-Message-Validation-1
y el tipo de recurso espy
.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.
Examina el XML de la política SOAPMessageValidation con errores. Si el tipo de recurso especificado para el elemento
<ResourceURL>
coincide con el tipo de recurso no válido identificado en el paso 1, esa es la causa del error.Por ejemplo, la siguiente política especifica la URL del recurso como
py
, que coincide con lo que contiene el mensaje de error:<?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>
Debido a que el tipo de recurso utilizado en
<ResourceURL>
no esxsd
niwsdl
, la implementación fallará y se mostrará el error anterior.
Solución
Asegúrate de que el tipo de recurso especificado en el elemento <ResourceURL>
de la política SOAPMessageValidation esté configurado como xsd
o wsdl
, y que el archivo de recursos use el formato correcto.
Para corregir la política SOAPMessageValidation de ejemplo que se muestra arriba, puedes modificar el tipo de recurso por 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
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
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.
Ejemplo de mensaje de error
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.
Captura de pantalla de error de ejemplo
Causa
Este error se produce si la secuencia de comandos de recursos a la que se hace referencia en el elemento <ResourceURL>
de la política SOAPMessageValidation contiene un error que impide compilar durante la implementación.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation y la secuencia de comandos del recurso que se usa en la política. Puedes encontrar ambos elementos en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política SOAPMessageValidation es
SOAP-Message-Validation-1
y la secuencia de comandos del recurso esSOAP-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.
Examina el archivo XML de la política de SOAPMessageValidation y verifica que la secuencia de comandos de recursos especificada para el elemento
<ResourceURL>
coincida con el contenido del mensaje de error.Por ejemplo, la siguiente política especifica
<ResourceURL>
comoSOAP-Message-Validation-1.wsdl
, que coincide con lo que contiene el mensaje de error:<?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>
Consulta el archivo de secuencia de comandos del recurso identificado en el paso 1 y verifica si hay algún problema potencial que pueda generar errores de compilación.
Este es un archivo de secuencia de comandos de recurso de ejemplo:
<?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>
Debido a que
xmlns:wsdl
apunta a una URL no válida, la implementación fallará y se mostrará el error anterior.
Solución
Asegúrate de que la secuencia de comandos de recursos especificada en el elemento <ResourceURL>
de la
política SOAPMessageValidation no tenga problemas que impidan la compilación.
Si quieres corregir la secuencia de comandos SOAP-Message-Validation-1.wsdl
que se muestra arriba,
puedes modificar xmlns:wsdl
para que apunte a una URL válida:
<?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
Mensaje de error
Guardar el proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Ejemplo de mensaje de error
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Captura de pantalla de error de ejemplo
Causa
Este error se produce si el elemento <Element>
en la política SOAPMessageValidation
no contiene el nombre del elemento raíz.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation en la que se produjo el error. Por ejemplo, en el siguiente error, el nombre de la política SOAPMessageValidation es
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Examina el XML de la política SOAPMessageValidation con errores. Si el nombre del elemento raíz que se usa para la validación no se especifica en el elemento
<Element>
, esa es la causa del error.Por ejemplo, la siguiente política no especifica el nombre del elemento raíz:
<?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>
Debido a que no se especifica el nombre del elemento raíz, la implementación fallará y se mostrará el error que aparece arriba.
Solución
Asegúrate de que el elemento <Element>
de la política SOAPMessageValidation contenga
el elemento raíz correcto.
Para corregir la política SOAPMessageValidation anterior, puedes modificar el
<Element>
y agregar un elemento raíz válido, como se muestra a continuación:
<?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
Mensaje de error
Guardar el proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Ejemplo de mensaje de error
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Captura de pantalla de error de ejemplo
Causa
Este error ocurre si el elemento <Element>
en la política SOAPMessageValidation contiene un nombre de elemento raíz que no cumple con las reglas XML para otorgar nombres válidos a elementos.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation en la que se produjo el error. Por ejemplo, en el siguiente error, el nombre de la política SOAPMessageValidation es
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Examina el XML de la política SOAPMessageValidation con errores. Si el nombre del elemento raíz especificado en el elemento
<Element>
no coincide con los criterios de nombre válido del elemento XML, esa es la causa del error.Por ejemplo, la siguiente política tiene un nombre de elemento raíz que comienza con un número, lo que no es válido. Un nombre de elemento que contenga espacios tampoco sería válido.
<?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>
Solución
Asegúrate de que el elemento <Element>
de la política SOAPMessageValidation
contenga un nombre de elemento raíz válido.
Para corregir la política SOAPMessageValidation anterior, puedes modificar el
elemento <Element>
a fin de que contenga un nombre de elemento raíz válido, como se muestra a continuación:
<?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
Mensaje de error
La implementación del proxy de API a través de la IU de Edge o la API de administración de Edge falla con este mensaje de error:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Captura de pantalla de error de ejemplo
Causa
Este error ocurre si el archivo de recursos especificado en el elemento <Resource>
de la política SOAPMessageValidation no contiene ningún elemento que se pueda usar para la validación.
Diagnóstico
Identifica las definiciones de elementos faltantes del archivo de recursos en el mensaje de error. Por ejemplo, en el siguiente error, el archivo de recursos utilizado es
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Examina el archivo de recursos identificado en el paso 1. Si no hay elementos definidos, esa es la causa del error.
Por ejemplo, el siguiente archivo de recursos
Script-1.xsd
no contiene ningún elemento:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Dado que el archivo de recursos no tiene ningún elemento, la implementación fallará y mostrará el error anterior.
Solución
Asegúrate de que el archivo de recursos utilizado en la política SOAPMessageValidation contenga las definiciones de elementos relevantes.
A fin de corregir el archivo de recursos de ejemplo que se muestra arriba, puedes modificar el archivo xsd
para agregar el siguiente contenido:
<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>