Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
InvalidResourceType
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee 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 ecrã de erro de exemplo
Causa
Este erro ocorre se o elemento <ResourceURL>
na política SOAPMessageValidation estiver definido para um tipo de recurso não suportado pela política. Os tipos de recursos suportados 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. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no erro seguinte, 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 falhas. Se o tipo de recurso especificado para o elemento
<ResourceURL>
corresponder ao tipo de recurso inválido identificado no Passo 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>
Uma vez que o tipo de recurso usado em
<ResourceURL>
não éxsd
nemwsdl
, a implementação falha com o erro apresentado acima.
Resolução
Certifique-se de que o tipo de recurso especificado no elemento <ResourceURL>
da política SOAPMessageValidation está definido como xsd
ou wsdl
e que o ficheiro de recursos usa a formatação correta.
Para corrigir a política SOAPMessageValidation apresentada acima, pode modificar 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 implementação do proxy de API através da IU ou da API Apigee 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 ecrã de erro de exemplo
Causa
Este erro ocorre se o script de recursos referenciado no elemento <ResourceURL>
da política SOAPMessageValidation contiver um erro que impeça a compilação durante a implementação.
Diagnóstico
Identifique o nome da política SOAPMessageValidation e o script de recursos usado na política. Pode encontrar ambos os itens na mensagem de erro. Por exemplo, no erro seguinte, 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.
Examine o XML da política SOAPMessageValidation com falhas e verifique se o script de recurso especificado para o elemento
<ResourceURL>
corresponde ao que está na mensagem de erro.Por exemplo, a seguinte política especifica o elemento
<ResourceURL>
comoSOAP-Message-Validation-1.wsdl
, o 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>
Veja o ficheiro de script de recursos identificado no passo 1 e verifique se existem potenciais problemas que possam resultar em erros de compilação.
Segue-se um exemplo de um ficheiro de script 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>
Uma vez que
xmlns:wsdl
aponta para um URL inválido, a implementação vai falhar com o erro apresentado acima.
Resolução
Certifique-se de que o script de recursos especificado no elemento <ResourceURL>
da política SOAPMessageValidation não tem problemas que impeçam a respetiva compilação.
Para corrigir o script SOAP-Message-Validation-1.wsdl
apresentado acima, pode
modificar 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
A poupança do proxy da API através da IU ou da API 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 ecrã de erro de exemplo
Causa
Este erro ocorre 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 onde ocorreu o erro. Por exemplo, no seguinte erro, 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 falhas. Se o nome do elemento raíz usado para a validação não for especificado no elemento
<Element>
, essa é a causa do erro.Por exemplo, a seguinte 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>
Uma vez que o nome do elemento raíz não está especificado, a implementação falha com o erro apresentado acima.
Resolução
Certifique-se de que o elemento <Element>
da política SOAPMessageValidation contém o elemento raiz correto.
Para corrigir a política SOAPMessageValidation apresentada acima, pode modificar o elemento
<Element>
e adicionar um elemento raiz válido, como 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
A poupança do proxy da API através da IU ou da API 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 ecrã de erro de exemplo
Causa
Este erro ocorre se o elemento <Element>
na política SOAPMessageValidation contiver um nome de elemento raíz que não cumpre as regras XML para a nomenclatura de elementos válidos.
Diagnóstico
Identifique o nome da política SOAPMessageValidation onde ocorreu o erro. Por exemplo, no seguinte erro, 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 falhas. Se o nome do elemento raíz 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 seguinte tem um nome de elemento raiz que começa com um número, o que é inválido. Um nome de elemento que contenha espaços também é 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
Certifique-se de que o elemento <Element>
da política SOAPMessageValidation contém
um nome de elemento raiz válido.
Para corrigir a política SOAPMessageValidation apresentada acima, pode modificar o elemento <Element>
para conter um nome de elemento raiz válido, conforme apresentado 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 implementação do proxy de API através da IU ou da API Apigee 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 ecrã de erro de exemplo
Causa
Este erro ocorre se o ficheiro de recursos especificado no elemento <Resource>
da política SOAPMessageValidation não contiver elementos que possam ser usados para validação.
Diagnóstico
Identifique as definições de elementos em falta no ficheiro de recursos a partir da mensagem de erro. Por exemplo, no seguinte erro, o ficheiro de recursos usado no elemento
xsd://Script-1.xsd
é:Error Deploying Revision 2 to test Resource "xsd://Script-1.xsd" has no element definitions.
Examine o ficheiro de recursos identificado no passo 1. Se não existirem elementos definidos, essa é a causa do erro.
Por exemplo, o seguinte ficheiro de recursos
Script-1.xsd
não contém elementos:<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> </xsd:schema>
Uma vez que o ficheiro de recursos não tem elementos, a implementação falha com o erro apresentado acima.
Resolução
Certifique-se de que o ficheiro de recursos usado na política SOAPMessageValidation contém as definições de elementos relevantes.
Para corrigir o ficheiro de recursos de exemplo apresentado acima, pode modificar o ficheiro 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>