Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da Apigee Edge.
InvalidResourceType
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
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.
Exemplo de mensagem de erro
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 tela com erro de exemplo
Causa
Esse erro ocorre se o elemento <ResourceURL>
na política SOAPMessageValidation estiver definido como um tipo de recurso não compatível com a política. Os tipos de recurso compatíveis são xsd
e wsdl
.
Diagnóstico
Identifique o nome da política SOAPMessageValidation e o tipo de recurso inválido usado no elemento
<ResourceURL>
da política. É possível encontrar esses dois itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política SOAPMessageValidation éSOAP-Message-Validation-1
e o tipo de recurso é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.
Examine o XML da política SOAPMessageValidation com falha. Se o tipo de recurso especificado para o elemento
<ResourceURL>
corresponde ao tipo de recurso inválido identificado na Etapa 1 acima, essa é a causa do erro.Por exemplo, a seguinte política especifica o tipo de recurso como
py
, que corresponde ao que está na mensagem de erro:<?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 o tipo de recurso usado em
<ResourceURL>
não éxsd
ouwsdl
, a implantação falhará com o erro mostrado acima.
Resolução
Verifique se o tipo de recurso especificado no elemento <ResourceURL>
da política SOAPMessageValidation está definido como xsd
ou wsdl
e se o arquivo de recurso usa a formatação correta.
Para corrigir o exemplo de política SOAPMessageValidation mostrado acima, modifique o tipo de recurso para 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
Mensagem de erro
A implantação do proxy de API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
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.
Exemplo de mensagem de erro
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 tela com erro de exemplo
Causa
Esse erro ocorrerá se o script de recurso referenciado no elemento <ResourceURL>
da política SOAPMessageValidation contiver um erro que o impedirá durante a compilação.
Diagnóstico
Identifique o nome da política SOAPMessageValidation e o script de recurso usado nela. É possível encontrar esses dois itens na mensagem de erro. Por exemplo, no erro a seguir, o nome da política SOAPMessageValidation é
SOAP-Message-Validation-1
e o script de recursos é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.
Analise o XML da política SOAPMessageValidation com falha e verifique se o script de recurso especificado para o elemento
<ResourceURL>
corresponde ao que está na mensagem de erro.Por exemplo, a política a seguir especifica o elemento
<ResourceURL>
comoSOAP-Message-Validation-1.wsdl
, que corresponde ao que está na mensagem de erro:<?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>
Visualize o arquivo de script de recurso identificado na Etapa 1 e veja se há algum problema em potencial que pode resultar em erros de compilação.
Veja um exemplo de arquivo de script de recurso:
<?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
aponta para um URL inválido, a implantação falhará com o erro mostrado acima.
Resolução
Verifique se o script de recurso especificado no elemento <ResourceURL>
da
política SOAPMessageValidation não tem problemas que impeçam a compilação.
Para corrigir o script SOAP-Message-Validation-1.wsdl
mostrado acima,
modifique xmlns:wsdl
para apontar para um URL válido:
<?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
Mensagem de erro
Salvar o proxy da API por meio da IU ou da API da Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name is not specified.
Exemplo de mensagem de erro
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Captura de tela com erro de exemplo
Causa
Esse erro ocorrerá se o elemento <Element>
na política SOAPMessageValidation
não contiver o nome do elemento raiz.
Diagnóstico
Identifique o nome da política SOAPMessageValidation em que o erro ocorreu. Por exemplo, no erro a seguir, o nome da política SOAPMessageValidation é
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name is not specified.
Examine o XML da política SOAPMessageValidation com falha. Se o nome do elemento raiz usado para validação não for especificado no elemento
<Element>
, essa é a causa do erro.Por exemplo, esta política não especifica o nome do elemento raiz:
<?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 o nome do elemento raiz não é especificado, a implantação falhará com o erro mostrado acima.
Resolução
Verifique se o elemento <Element>
da política SOAPMessageValidation contém
o elemento raiz correto.
Para corrigir a política SOAPMessageValidation exibida acima, modifique o <Element>
e adicione um elemento raiz válido conforme abaixo:
<?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
Mensagem de erro
Salvar o proxy da API por meio da IU ou da API da Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number MessageValidation soap_message_validation_policy: RootElement name root_element_name is invalid.
Exemplo de mensagem de erro
Error Saving Revision 2
MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse
is invalid.
Captura de tela com erro de exemplo
Causa
Esse erro ocorrerá se o elemento <Element>
na política SOAPMessageValidation
contiver um nome de elemento raiz que não siga regras de nome para nomes de elementos
válidos.
Diagnóstico
Identifique o nome da política SOAPMessageValidation em que o erro ocorreu. Por exemplo, no erro a seguir, o nome da política SOAPMessageValidation é
SOAP-Message-Validation-1
:Error Saving Revision 2 MessageValidation SOAP-Message-Validation-1: RootElement name 1GetPriceResponse is invalid.
Examine o XML da política SOAPMessageValidation com falha. Se o nome do elemento raiz especificado no elemento
<Element>
não corresponder aos critérios de um nome de elemento XML válido, essa é a causa do erro.Por exemplo, a política a seguir tem um nome de elemento raiz que começa com um número, o que é inválido. Um nome de elemento contendo espaços também seria invá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>
Resolução
Verifique se o elemento <Element>
da política SOAPMessageValidation contém
um nome de elemento raiz válido.
Para corrigir a política SOAPMessageValidation acima, modifique o elemento
<Element>
para conter um nome de elemento raiz válido, conforme mostrado abaixo:
<?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
Mensagem de erro
A implantação do proxy da API por meio da IU da Apigee ou da API falha com esta mensagem de erro:
Error Deploying Revision revision_number Resource "resource_url" has no element definitions.
Exemplo de mensagem de erro
Error Deploying Revision 2 to test
Resource "xsd://Script-1.xsd" has no element definitions.
Captura de tela com erro de exemplo
Causa
Esse erro ocorre se o arquivo de recurso especificado no elemento <Resource>
da
política SOAPMessageValidation não contiver elementos que possam ser usados
para validação.
Diagnóstico
Identifique o arquivo do recurso sem definições de elemento na mensagem de erro. Por exemplo, no erro a seguir, o arquivo de recurso usado no é
xsd://Script-1.xsd
:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Examine o arquivo de recurso identificado na Etapa 1. Se não houver elementos definidos, essa é a causa do erro.
Por exemplo, o arquivo de recurso
Script-1.xsd
a seguir não contém elementos:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Como o arquivo de recursos não tem elementos, a implantação falhará com o erro mostrado acima.
Resolução
Verifique se o arquivo de recurso usado na política SOAPMessageValidation contém as definições de elemento relevantes.
Para corrigir o arquivo de recurso de exemplo mostrado acima, modifique o arquivo xsd
para adicionar o seguinte conteúdo:
<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>