Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
InvalidResourceType
Mensaje de error
La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
Causa
Este error se produce si el elemento <ResourceURL>
de la política SOAPMessageValidation se define en un tipo de recurso que no admite la política. Los tipos de recursos admitidos son xsd
y wsdl
.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation y el tipo de recurso no válido que se ha usado 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 archivo XML de la política SOAPMessageValidation que ha fallado. Si el tipo de recurso especificado en el elemento
<ResourceURL>
coincide con el tipo de recurso no válido identificado en el paso 1 anterior, esa es la causa del error.Por ejemplo, la siguiente política especifica el tipo de recurso como
py
, que coincide con lo que aparece en 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>
Como el tipo de recurso usado en
<ResourceURL>
no esxsd
niwsdl
, la implementación fallará y se mostrará el error anterior.
Resolución
Asegúrate de que el tipo de recurso especificado en el elemento <ResourceURL>
de la política SOAPMessageValidation sea xsd
o wsdl
, y de que el archivo de recursos tenga el formato correcto.
Para corregir la política SOAPMessageValidation de ejemplo que se muestra arriba, puede modificar el tipo de recurso a 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 interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
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 que se compile durante la implementación.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation y la secuencia de comandos de recursos utilizada 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 de recursos 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 SOAPMessageValidation que ha fallado y comprueba que la secuencia de comandos de recursos especificada en el elemento
<ResourceURL>
coincida con lo que se indica en el mensaje de error.Por ejemplo, la siguiente política especifica el elemento
<ResourceURL>
comoSOAP-Message-Validation-1.wsdl
, que coincide con lo que aparece en 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 de recursos identificado en el paso 1 y comprueba si hay algún problema que pueda provocar errores de compilación.
Aquí tienes un ejemplo de archivo de secuencia de comandos de recursos:
<?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>
Como
xmlns:wsdl
apunta a una URL no válida, la implementación fallará y se mostrará el error anterior.
Resolución
Asegúrate de que el script de recursos especificado en el elemento <ResourceURL>
de la política SOAPMessageValidation no tenga ningún problema que le impida compilarse.
Para corregir la secuencia de comandos SOAP-Message-Validation-1.wsdl
que se muestra arriba, puede 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
Al guardar el proxy de API a través de la interfaz de usuario o la API de Apigee, se produce un error y se muestra este mensaje:
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 ejemplo de error
Causa
Este error se produce si el elemento <Element>
de 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 ha producido 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 archivo XML de la política SOAPMessageValidation que ha fallado. Si el nombre del elemento raíz usado para la validación no se especifica en el elemento
<Element>
, ese es el motivo 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>
Como no se ha especificado el nombre del elemento raíz, la implementación fallará y se mostrará el error anterior.
Resolució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 que se muestra arriba, puedes modificar el elemento <Element>
y añadir un elemento raíz válido, como se indica 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
Al guardar el proxy de API a través de la interfaz de usuario o la API de Apigee, se produce un error y se muestra este mensaje:
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 ejemplo de error
Causa
Este error se produce si el elemento <Element>
de la política SOAPMessageValidation contiene un nombre de elemento raíz que no cumple las reglas de XML para los nombres de elementos válidos.
Diagnóstico
Identifica el nombre de la política SOAPMessageValidation en la que se ha producido 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 archivo XML de la política SOAPMessageValidation que ha fallado. Si el nombre del elemento raíz especificado en el elemento
<Element>
no cumple los criterios de un nombre de elemento XML válido, esa es la causa del error.Por ejemplo, la siguiente política tiene un nombre de elemento raíz que empieza por un número, lo cual 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>
Resolución
Asegúrese de que el elemento <Element>
de la política SOAPMessageValidation contiene un nombre de elemento raíz válido.
Para corregir la política SOAPMessageValidation que se muestra arriba, puede modificar el elemento <Element>
para 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 interfaz de usuario o la API de Apigee falla y se muestra 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 ejemplo de error
Causa
Este error se produce 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 que faltan en el archivo de recursos a partir del 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>
Como el archivo de recursos no tiene ningún elemento, la implementación fallará y se mostrará el error anterior.
Resolución
Asegúrate de que el archivo de recursos utilizado en la política SOAPMessageValidation contenga las definiciones de elementos pertinentes.
Para corregir el archivo de recursos de ejemplo que se muestra arriba, puede modificar el archivo xsd
para añadir 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>