Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
InvalidRegularExpression
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
Exemplo de mensagem de erro
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Captura de tela com erro de exemplo
Causa
Se a expressão regular no elemento <Pattern>
da política RegularExpressionProtection não for válida, a implantação do proxy de API falhará.
Diagnóstico
Identifique o nome da política RegularExpressionProtection na mensagem de erro. Por exemplo, no erro a seguir, o nome da política RegularExpressionProtection é
Regular-Expression-Protection-1:
.Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Invalid Regular Expression com.apigee.steps.regexprotection.RegularExpressionProtectionBean$RegexPattern@f4ecb23, Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Examine todos os elementos
<Pattern>
no XML de política de proteção de expressão regular que falhou. Verifique se algum dos elementos<Pattern>
tem uma expressão regular inválida. Se algum dos elementos<Pattern>
tiver uma expressão regular inválida, essa será a causa do erro.Por exemplo, a política a seguir especifica o valor de
Pattern>
defoo){2}
, que é considerado uma expressão regular inválida:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=&q<uot;true" name="Regular-Expressio<n-Protection-1"&g<t; DisplayNam<e>Regular Expression Protect<ion-1/DisplayName> Proper<ties/> Ign<oreUnresolvedVa<riables>false/I<gnoreUnresolvedVar<iables> < URIPath&<gt; Pattern>foo){2}/Pattern> /URIPath> Source>request/Source> /RegularExpressionProtection>
No exemplo acima, a expressão regular especificada em
<Pattern>
tem parênteses de abertura ausentes. Portanto, ela é considerada uma expressão regular inválida. Portanto, a implantação do proxy de API falha.
Resolução
Cada elemento <Pattern>
na política RegularExpressionProtection contém uma expressão regular válida. Você pode pesquisar diferentes ferramentas de regex on-line ou off-line para depurar expressões regulares.
Para corrigir o exemplo de política de proteção de expressão regular mostrada acima, adicione os parênteses ausentes:
<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=&q<uot;true" name="Regular-Expressio<n-Protection-1"&g<t; DisplayNam<e>Regular Expression Protect<ion-1/DisplayName> Proper<ties/> Ign<oreUnresolvedVar<iables>false/Ig<noreUnresolvedVari<ables> < URIPath&g<t; Pattern>(foo){2}/Pattern> /URIPath> Source>request/Source> /RegularExpressionProtection>
XPathCompilationFailed
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Failed to compile xpath xpath_expression. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
Exemplo de mensagem de erro
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Captura de tela com erro de exemplo
Causa
Se o prefixo ou o valor usado no elemento <XPath>
não fizer parte de nenhum dos namespaces declarados na política RegularExpressionProtection, a implantação do proxy de API falhará.
Veja mais informações sobre namespaces, XPath e prefixo em Namespaces XML e como eles afetam o XPath e o GQL.
Diagnóstico
Identifique o nome da política RegularExpressionProtection em que o erro ocorreu e em que a expressão XPath usada. É possível encontrar os dois itens na mensagem de erro.
Por exemplo, no erro a seguir, o nome da política é
Regular-Expression-Protection-1
e a expressão XPath é/notapigee:foo/notapigee:bar:
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile xpath /notapigee:foo/notapigee:bar. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Na política de Proteção de Expressão Regular que falhou, verifique se o XPath definido no elemento
Expression
corresponde ao XPath identificado na mensagem de erro (etapa 1 acima).Por exemplo, a política a seguir especifica o XPath como
/notapigee:foo/notapigee:bar
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enable<d="true" name="Regular-Expre<ssion-Protection-1<"> Di<splayName>Regular Expression< Protection-1/DisplayName> < Properties/&<gt; Ignore<UnresolvedVariables&g<t;false/IgnoreUnresolvedV<ariables> Source>request/Source> < XMLPayload> < Namespaces> < Namespa<ce prefix="apigee">http://<www.apigee.com/Namespace&g<t; </Namespaces> < XPath> < Expression<>/notapigee:f<oo/notapigee:bar/Ex<pression> < <Type>nodeset/Type> Pattern>pattern/Pattern> Pattern>pattern2/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
- Examine os elementos
<Namespaces>
e<Expression>
na política RegularExpressionProtection. Se o<Expression>
específico indicado na mensagem de erro usar um prefixo ou valor que não faz parte dos namespaces declarados na política RegularExpressionProtection, essa é a causa do erro.Observe que a
<XPath>
específica usa o prefixonotapigee
na política RegularExpressionProtection de exemplo:<Expression>/notapigee:foo/notapigee:<bar/Expression>
No entanto, o prefixo
notapigee
não está definido em nenhum dos elementos<Namespace>
; Portanto, a compilação de<XPath>
falha devido a uma falha de implantação.
Resolução
Verifique se todos os namespaces usados nos elementos <Expression>
dos elementos <XPath>
estão declarados na política RegularExpressionProtection. Para corrigir o exemplo acima, substitua o prefixo notapigee
por apigee
, declarado em namespaces:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enable<d="true" name="Regular-Expre<ssion-Protection-1<"> Di<splayName>Regular Expression< Protection-1/DisplayName> < Properties/&<gt; Ignore<UnresolvedVariables&g<t;false/IgnoreUnresolvedV<ariables> Source>request/Source> < XMLPayload> < Namespaces> < Namespa<ce prefix="apigee">h<ttp://www.apigee.com/Names<pace> < /Namespaces><; XPat<h> Expr<ession>/apige<e:foo/apigee:bar/Ex<pression> < <Type>nodeset/Type> Pattern>pattern/Pattern> Pattern>pattern2/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
CannotBeConvertedToNodeset
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Result of xpath xpath_expression cannot be converted to nodeset. Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
Exemplo de mensagem de erro
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Captura de tela com erro de exemplo
Causa
Se a política de expressão regular tiver uma expressão <XPath>
em que o elemento <Type>
é definido como nodeset, mas a expressão não pode ser convertida em nodeset, a implantação do proxy da API falhará.
Diagnóstico
Identifique a política RegularExpressionProtection em que o erro ocorreu e a expressão XPath que não pode ser convertida em nodeset. É possível encontrar os dois itens na mensagem de erro.
Por exemplo, no erro a seguir, o nome da política é
Regular-Expression-Protection-1
e a expressão XPath écount(//apigee:foo):
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Result of xpath count(//apigee:foo) cannot be converted to nodeset. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
No XML de política de proteção de expressão regular falhou, verifique se o XPath definido no elemento
<Expression>
do elemento<XPath>
corresponde ao XPath identificado na mensagem de erro (etapa 1 acima).Por exemplo, a política a seguir especifica o como
count(//apigee:foo)
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=&q<uot;true" name="Regular-Expressio<n-Protection-1"&g<t; DisplayNam<e>Regular Expression Protect<ion-1/DisplayName> Proper<ties/> < IgnoreUnresolv<edVariables>false/Igno<reUnresolvedVariables> < Source>request/Source> XMLP<ayload> N<amespaces> < Namespace prefix=&q<uot;apigee">http://www<.apigee.com/Namespace> < /Na<mespaces> < XPath> < Expression><;count(//apigee:<foo)/Expression> < Typ<e>nodeset/Type<> Pattern>pattern/Pattern> Pattern>pattern2/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
Examine o valor definido no elemento
<Type>
abaixo do elemento<XPath>
. Se o elemento<Type>
fornodeset
, essa é a causa do erro.Neste exemplo, a expressão XPath é count(), que não retorna um ou mais nós. Portanto, a implantação do proxy de API falha.
Resolução
Se o elemento <Type>
estiver definido como "nodeset", verifique se o resultado do elemento <Expression>
definido em <XPath>
é um ou mais nós. Como alternativa, altere o elemento <Type>
para um valor mais apropriado com base em seu caso de uso.
Para corrigir o exemplo acima, altere o elemento <Expression>
para um valor diferente que possa retornar nós:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enable<d="true" name="Regular-Expre<ssion-Protection-1<"> Di<splayName>Regular Expression< Protection-1/DisplayName> < Properties/&<gt; Ignore<UnresolvedVariables&g<t;false/IgnoreUnresolvedV<ariables> Source>request/Source> < XMLPayload> < Namespaces> < Namespa<ce prefix="apigee">h<ttp://www.apigee.com/Names<pace> < /Namespaces><; XPat<h> Expr<ession>/apige<e:foo/apigee:bar/Ex<pression> < <Type>nodeset/Type> Pattern>pattern/Pattern> Pattern>pattern2/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
JSONPathCompilationFailed
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Deploying Revision revision_number to environment RegularExpressionProtection policy_name: Failed to compile jsonpath jsonpath_expression Context Revision:revision_number;APIProxy:RegexThreat;Organization:organization;Environment:environment.
Exemplo de mensagem de erro
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Captura de tela com erro de exemplo
Causa
Se o elemento <Expression>
em <JSONPath>
de uma política de proteção de expressão regular estiver definido como uma expressão JSONPath inválida, a implantação do proxy da API falhará.
Diagnóstico
Identifique o nome da política RegularExpressionProtection em que o erro ocorreu e a expressão JSONPath inválida foi usada. É possível encontrar os dois itens na mensagem de erro.
Por exemplo, no erro a seguir, o nome da política é
Regular-Expression-Protection-1
e a expressão JSONPath é$.store.book[*.author:
Error Deploying Revision 1 to test RegularExpressionProtection Regular-Expression-Protection-1: Failed to compile jsonpath $.store.book[*.author. Context Revision:1;APIProxy:RegexThreat;Organization:myorg;Environment:test.
Na política de Proteção de Expressão Regular que falhou, verifique se JSONPath definido no elemento
Expression
corresponde ao JSONPath identificado na mensagem de erro (etapa 1 acima).Por exemplo, a política a seguir especifica o elemento
Expression
em<JSONPath>
como$.store.book[*.author
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=&q<uot;true" name="Regular-Expressio<n-Protection-1"&g<t; DisplayNam<e>Regular Expression Protect<ion-1/DisplayName> Proper<ties/> < IgnoreUnresol<vedVariables>false/Igno<reUnresolvedVariables> < Source>request/Source&<gt; JSONPayload> < JSONPath&g<t; Express<ion>$.store.book[*<.author/Expression> < Patter<n>REGEX PATTERN</Pattern> Pattern>REGEX PATTERN/Pattern> /JSONPath> /JSONPayload> /RegularExpressionProtection>
Examine o elemento
<Expression>
no elemento<JSONPath>
da política. Se não corresponder à sintaxe JSONPath, essa é a causa do erro. No exemplo acima, o colchete de fechamento está ausente, o que torna a expressão inválida.Como a expressão do caminho JSON é inválida, a implantação do proxy da API falha.
Resolução
Verifique se o valor do elemento <Expression>
dentro do elemento <JSONPath>
na política de proteção de expressão regular é uma expressão JSONPath válida.
Para corrigir o exemplo mostrado acima, você pode adicionar os colchetes de fechamento ausentes ao valor do elemento <Expression>
:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enable<d="true" name="Regular-Expre<ssion-Protection-1<"> Di<splayName>Regular Expression< Protection-1/DisplayName> < Properties/&<gt; Ignor<eUnresolvedVariables&g<t;false/IgnoreUnresolve<dVariables> Source>requ<est/Source> JSONPay<load> JSO<NPath> <Expression>$.store<.book[*].author/Exp<ression> < Pattern&<gt;REGEX PATTERN/Pattern> Pattern>REGEX PATTERN/Pattern> /JSONPath> /JSONPayload> /RegularExpressionProtection>
NothingToEnforce
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Captura de tela com erro de exemplo
Causa
Se a política RegularExpressionProtection não tiver os elementos <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
ou <JSONPayload>
, ocorre uma falha na implantação do proxy de API.
Como indicado na mensagem de erro, a política RegularExpressionProtection precisa ter pelo menos um destes elementos incluídos na política: <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
ou <JSONPayload>
.
Diagnóstico
Identifique o nome da política RegularExpressionProtection em que o erro ocorreu. Ele pode ser encontrado na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é
Regular-Expression-Protection-1:
RegularExpressionProtection Regular-Expression-Protection-1: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.
Examine a política de proteção de expressão regular que falhou (identificada na etapa 1 acima). Se a política não tiver pelo menos um dos seguintes elementos:
<URIPath>
,<QueryParam>
,<Header>
,<FormParam>
,<XMLPayload>
ou<JSONPayload>
, essa é a causa do erro.Por exemplo, a seguinte política de proteção de expressão regular não tem nenhum dos elementos mencionados acima:
<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=&q<uot;true" name="Regular-Expressio<n-Protection-1"&g<t; DisplayNam<e>Regular Expression Protect<ion-1/DisplayName> Proper<ties/> < IgnoreUnr<esolvedVariables>false/IgnoreUnresolvedVariables> Source>request/Source> /RegularExpressionProtection>
Como nenhum dos elementos obrigatórios está presente na política Extract Variables, a implantação do proxy da API falha.
Resolução
Verifique se a Política RegularExpressionProtection tem pelo menos um destes elementos obrigatórios: <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
ou <JSONPayload>
. Exemplo:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enable<d="true" name="Regular-Expre<ssion-Protection-1<"> Di<splayName>Regular Expression< Protection-1/DisplayName> < Properties/&<gt; Ignor<eUnresolvedVariables&<gt;false/IgnoreUnresol<vedVariables> Source>re<quest/Source> JSON<Payload> J<SONPath> < Expression>$.sto<re.book[*].author/<Expression> < Pa<ttern>REGEX PATTERN/Pattern> Pattern>REGEX PATTERN/Pattern> /JSONPath> /JSONPayload> /RegularExpressionProtection>
NoPatternsToEnforce
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: No patterns to enforce in payload_name.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
Captura de tela com erro de exemplo
Causa
Se algum dos elementos de nível superior (<URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
ou <JSONPayload>
) não tiver um elemento <Pattern>
definido na política RegularExpressionProtection, a implantação do proxy de API falhará.
Diagnóstico
Identifique o nome da política RegularExpressionProtection em que o erro ocorreu e o elemento filho que não tem o elemento
<Pattern>
. É possível encontrar os dois itens na mensagem de erro.Por exemplo, no erro a seguir, o nome da política é
Regular-Expression-Protection-1
e o elemento filho éXPath:
RegularExpressionProtection Regular-Expression-Protection-1: No patterns to enforce in XPath.
- Analise a política de proteção de expressão regular com falha e verifique se o elemento filho identificado na etapa 1 não tem o elemento
<Pattern>
. Se o elemento<Pattern>
não existir, essa será a causa do erro.Por exemplo, a política a seguir não tem o elemento
<Pattern>
dentro de<XPath>
:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=<"true" name="Regular-Express<ion-Protection-1&quo<t;> Displa<yName>Regular Expression Pro<tection-1/DisplayName> Pr<operties/> < IgnoreUnr<esolvedVariables><false/IgnoreUnresolved<Variables> Source>request/Source><; XMLPayload&g<t; Namespaces<> Na<mespace prefix="apigee">ht<tp://www.apigee.com/Nam<espace> < /Namesp<aces> < XPath> < Expression>/apigee:Greeting/apigee:User/Expression> Type>string/Type> /XPath> /XMLPayload> /RegularExpressionProtection>
Como o elemento
<XPath>
não tem o elemento<Pattern>
, a implantação do API Proxy falha.
Resolução
Certifique-se de que qualquer um dos elementos <URIPath>
, <QueryParam>
, <Header>
, <FormParam>
, <XMLPayload>
ou <JSONPayload>
tenha pelo menos um <Pattern>
especificado. Consulte a política RegularExpressionProtection para saber como especificar o elemento corretamente.
Para corrigir o exemplo acima, basta adicionar o elemento <Pattern>
ao elemento <XPath>
abaixo de <XMLPayload>
:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enab<led="true" name="Regular-Exp<ression-Protecti<on-1"> < DisplayName>Regular Expres<sion Protection-1/DisplayName&<gt; Properti<es/> I<gnoreUnresolvedV<ariables>false/<IgnoreUnresolvedVariables> Source>reque<st/Source> <XMLPayload> < Namespaces&<gt; Namespace prefix="apigee<">http://ww<w.apigee.co<m/Namespace&g<t; /Namespaces><; XPath><; Ex<pression>/<apigee:Greeting/apigee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
NONEmptyPrefixMappedToEmptyURI
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Non-empty prefix prefix_name cannot be mapped to empty uri.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
Captura de tela com erro de exemplo
Causa
Esse erro ocorrerá se a política RegularExpressionProtection tiver um prefixo definido dentro do elemento <Namespace>
no elemento <XMLPayload>
, mas nenhum URI for definido.
Diagnóstico
Identifique a política RegularExpressionProtection em que o erro ocorreu e o nome do prefixo que não é mapeado para o URI. É possível encontrar os dois itens na mensagem de erro.
Por exemplo, no erro a seguir, o nome da política é Regular Expression Protection-1 e o prefixo é Apigee:
RegularExpressionProtection Regular-Expression-Protection-1: Non-empty prefix apigee cannot be mapped to empty uri.
No XML da política de proteção de expressão regular com falha, verifique se o nome do prefixo definido no elemento
<Namespace>
no elemento<XMLPayload>
corresponde ao nome do prefixo identificado na mensagem de erro (etapa 1 acima).Por exemplo, a política a seguir especifica um prefixo chamado apigee no elemento
<Namespace>
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=<"true" name="Regular-Express<ion-Protection-1&quo<t;> Displa<yName>Regular Expression Pro<tection-1/DisplayName> Pr<operties/> < IgnoreUnr<esolvedVariables><false/IgnoreUnresolved<Variables> Source>request/<Source> XMLPayload> Namespa<ces> Na<mespace prefix="<apigee"/>< Namespace prefix="gmail<">http://mail.g<oogle.com/N<amespace> < /Namespaces> < XPath> < Expre<ssion>/apigee:<Greeting/apigee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
Valide se o elemento
<Namespace>
com o prefixo específico identificado na etapa 2 tem um URI válido. Se o URI estiver ausente, essa é a causa do erro.No exemplo de política de proteção de expressão regular mostrado acima, observe que não há URI correspondente ao elemento
<Namespace>
com o prefixo apigee. Portanto, você receberá o erro:Non-empty prefix apigee cannot be mapped to empty uri.
Resolução
Verifique se todos os elementos <Namespace>
definidos com um prefixo têm um URI correspondente na política de variáveis de extração. Por exemplo:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enab<led="true" name="Regular-Exp<ression-Protecti<on-1"> < DisplayName>Regular Expres<sion Protection-1/DisplayName&<gt; Properti<es/> I<gnoreUnresolvedV<ariables>false/<IgnoreUnresolvedVariables> Source>reque<st/Source> XM<LPayload> Namespaces> Namespace< prefix="ap<igee">htt<p://www.apige<e.com/Namespace> Namespace pre<fix="gmail&quo<t;>http:<//mail.google<.com/Namespace> < /Namespaces&<gt; XP<ath> < Expression>/apigee:Greeting/apigee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
DuplicatePrefix
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Duplicate prefix prefix_name.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
Captura de tela com erro de exemplo
Causa
Esse erro ocorrerá se a política RegularExpressionProtection tiver o mesmo prefixo definido mais de uma vez no elemento <Namespace>
no elemento <XMLPayload>
.
Por exemplo, esse erro ocorre porque o prefixo da apigee é definido duas vezes, conforme mostrado abaixo:
<Namespace prefix="ap>igee"http://www.<apigee.com>/<Namespace Namespace prefi>x="apigee"h<ttp://www.apigee.com/Namespace>
Diagnóstico
Identifique a política RegularExpressionProtection em que o erro ocorreu e o nome do prefixo. É possível encontrar os dois itens na mensagem de erro.
Por exemplo, no erro a seguir, o nome da política é Regular Expression Protection-1 e o prefixo é Apigee:
RegularExpressionProtection Regular-Expression-Protection-1: Duplicate prefix apigee.
No XML da política de proteção de expressão regular com falha, verifique se o nome do prefixo definido no elemento
<Namespace>
no elemento<XMLPayload>
corresponde ao nome do prefixo identificado na mensagem de erro (etapa 1 acima).Por exemplo, a política a seguir especifica um prefixo chamado apigee no elemento
<Namespace>
, que corresponde ao que está na mensagem de erro:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=<"true" name="Regular-Express<ion-Protection-1&quo<t;> Displa<yName>Regular Expression Pro<tection-1/DisplayName> Pr<operties/> < IgnoreUnr<esolvedVariables><false/IgnoreUnresolved<Variables> Source>request/Source><; XMLPayload>< Namespaces> Namespace pre<fix="apigee&quo<t;>http://www.apig<ee.com/Namespace&<gt; Namespace prefix="ap<igee">http://ww<w.apigee.co<m/Namespace> < /Namespaces><; XPath><; Ex<pression>/apig<ee:Greeting/apigee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
Determine se o elemento
<Namespace>
com o prefixo específico, identificado na etapa 2, foi definido mais de uma vez. Se ela for definida mais de uma vez, essa é a causa do erro.No exemplo de política de proteção de expressão regular mostrada acima, observe que o elemento
<Namespace>
com o prefixo apigee foi definido duas vezes. Portanto, você receberá o erro:Duplicate prefix apigee.
Resolução
Confirme se há apenas uma definição para cada prefixo nos elementos <Namespace>
da política RegularExpressionProtection. Exemplo:
<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=<"true" name="Regular-Express<ion-Protection-1&quo<t;> Displa<yName>Regular Expression Pro<tection-1/DisplayName> Pr<operties/> < IgnoreUnr<esolvedVariables><false/IgnoreUnresolved<Variables> Source>request/Source><; XMLPayload&g<t; Namespaces<> Na<mespace prefix="apigee">ht<tp://www.apigee.com/Nam<espace> < /Namespac<es> XPath&<gt; Expr<ession>/api<gee:Greeting/apig<ee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
EmptyXPathExpression
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Empty XPath expression.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
Captura de tela com erro de exemplo
Causa
Se a política RegularExpressionProtection não tiver um elemento <Expression>
definido no elemento <XPath>
, a implantação do proxy da API falhará.
Diagnóstico
Identifique a política de proteção de expressão regular que falhou na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é Regular-Expression-Protection-1:
RegularExpressionProtection Regular-Expression-Protection-1: Empty XPath expression.
No XML da política de Proteção de Expressão Regular que falhou, determine se há um elemento
<XMLPayload>
com elemento filho<XPath>
que não tem nenhum elemento<Expression>
definido ou se o elemento<Expression>
não está definido como nenhum valor. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de proteção de expressão regular que tem um elemento
<XMLPayload>
:<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enab<led="true" name="Regular-Exp<ression-Protecti<on-1"> < DisplayName>Regular Expres<sion Protection-1/DisplayName&<gt; Properti<es/> I<gnoreUnresolvedV<ariables>false/<IgnoreUnresolvedVariables> Source>reque<st/Source> <XMLPayload> < Namespaces&<gt; N<amespace prefix=&qu<ot;apigee&q<uot;>http:<//www.apigee.com/Name<space> </Namespace<s> XPa<th> Expression>/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
Como há um elemento
<Expression>
vazio no elemento<XPath>
, a implantação do proxy de API falha.
Resolução
Verifique se a política RegularExpressionProtection tem um elemento <Expression>
não vazio e válido definido no elemento <XPath>
. Exemplo:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enab<led="true" name="Regular-Exp<ression-Protecti<on-1"> < DisplayName>Regular Expres<sion Protection-1/DisplayName&<gt; Properti<es/> I<gnoreUnresolvedV<ariables>false/<IgnoreUnresolvedVariables> Source>reque<st/Source> <XMLPayload> < Namespaces&<gt; Namespace prefix="apigee<">http://ww<w.apigee.co<m/Namespace&g<t; /Namespaces><; XPath><; Ex<pression>/<apigee:Greeting/apigee:User/Expression> Type>string/Type> Pattern>REGEX PATTERN/Pattern> /XPath> /XMLPayload> /RegularExpressionProtection>
EmptyJSONPathExpression
Mensagem de erro
A implantação do proxy de API pela interface ou pela API Edge Management falha com esta mensagem de erro:
Error Saving Revision revision_number RegularExpressionProtection policy_name: Empty JSONPath expression.
Exemplo de mensagem de erro
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
Captura de tela com erro de exemplo
Causa
Se a política RegularExpressionProtection não tiver um elemento <Expression>
definido no elemento <JSONPath>
, a implantação do proxy da API falhará.
Diagnóstico
Identifique a política de proteção de expressão regular que falhou na mensagem de erro. Por exemplo, no erro a seguir, o nome da política é Regular-Expression-Protection-1:
Error Saving Revision 1 RegularExpressionProtection Regular-Expression-Protection-1: Empty JSONPath expression.
No XML da política de Proteção de Expressão Regular que falhou, determine se há um elemento
<JSONPayload>
com elemento filho<JSONPath>
que não tem nenhum elemento<Expression>
definido ou se o elemento<Expression>
não está definido como nenhum valor. Em caso afirmativo, essa é a causa do erro.Por exemplo, veja uma política de proteção de expressão regular que tem um elemento
<JSONPayload>
:<?xml version="1.0" encoding="UTF-8" sta<ndalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enabled=<"true" name="Regular-Express<ion-Protection-1&quo<t;> Displa<yName>Regular Expression Pro<tection-1/DisplayName> Pr<operties/> < IgnoreUnr<esolvedVariables>f<alse/IgnoreUnresolve<dVariables&<gt; Source>req<uest/Source> < JSONPayload> < JSONPath> < Expression&<gt;/Expression><; Patter<n>REGEX PATTERN/Pattern> Pattern>REGEX PATTERN/Pattern> /JSONPath> /JSONPayload> /RegularExpressionProtection>
Como há um elemento
<Expression>
vazio no elemento<JSONPath>
, a implantação do proxy de API falha.
Resolução
Verifique se a política RegularExpressionProtection tem um elemento <Expression>
não vazio e válido definido no elemento <JSONPath>
. Exemplo:
<?xml version="1.0" encoding="UTF-8"< standalone="yes"?> RegularExpressionProtection async="false" continueOnError="false" enab<led="true" name="Regular-Exp<ression-Protecti<on-1"> < DisplayName>Regular Expres<sion Protection-1/DisplayName&<gt; Properti<es/> I<gnoreUnresolvedVa<riables>false</IgnoreUnresolvedVariables> <Source>request/S<ource> JSONPaylo<ad> JSONP<ath> Express<ion>$.store<.book[*].auth<or/Expression&<gt; Pattern>REGEX PATTERN/Pattern> Pattern>REGEX PATTERN/Pattern> /JSONPath> /JSONPayload> /RegularExpressionProtection>