Esta é a documentação da Apigee e da Apigee híbrida.
    Confira a documentação da Apigee Edge.
  
InvalidRegularExpression
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 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 é a causa do erro.- Por exemplo, a política a seguir especifica o valor de - Pattern>de- foo){2}, que é considerado uma expressão regular inválida:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <URIPath> <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" standalone="yes"?>
    <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1">
        <DisplayName>Regular Expression Protection-1</DisplayName>
        <Properties/>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <URIPath>
            <Pattern>(foo){2}</Pattern>
        </URIPath>
        <Source>request</Source>
    </RegularExpressionProtection>XPathCompilationFailed
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 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-1e 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 - Expressioncorresponde 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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/notapigee:foo/notapigee:bar</Expression> <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 prefixonotapigeena política RegularExpressionProtection de exemplo:<Expression>/notapigee:foo/notapigee:bar</Expression> No entanto, o prefixo notapigeenã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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:foo/apigee:bar</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
CannotBeConvertedToNodeset
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 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-1e 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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>count(//apigee:foo)</Expression> <Type>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>for- nodeset, essa é a causa do erro.- Nesse 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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:foo/apigee:bar</Expression> <Type>nodeset</Type> <Pattern>pattern</Pattern> <Pattern>pattern2</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
JSONPathCompilationFailed
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 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-1e 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 - Expressioncorresponde ao JSONPath identificado na mensagem de erro (etapa 1 acima).- Por exemplo, a política a seguir especifica o elemento - Expressionem- <JSONPath>como- $.store.book[*.author, que corresponde ao que está na mensagem de erro:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*.author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection> 
- Examine o elemento - <Expression>no elemento- <JSONPath>da política. Se isso 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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
NothingToEnforce
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 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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>
NoPatternsToEnforce
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 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 o 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-1e 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 nele, isso é 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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/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 por meio da IU da Apigee ou da API 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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee"/> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <XPath> <Expression>/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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="gmail">http://mail.google.com</Namespace> </Namespaces> <XPath> <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 por meio da IU da Apigee ou da API 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="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee: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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/apigee:Greeting/apigee:User</Expression> <Type>string</Type> <Pattern>REGEX PATTERN</Pattern> </XPath> </XMLPayload> </RegularExpressionProtection>
EmptyXPathExpression
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 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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <XMLPayload> <Namespaces> <Namespace prefix="apigee">http://www.apigee.com</Namespace> </Namespaces> <XPath> <Expression>/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 por meio da IU da Apigee ou da API 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" standalone="yes"?> <RegularExpressionProtection async="false" continueOnError="false" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression></Expression> <Pattern>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" enabled="true" name="Regular-Expression-Protection-1"> <DisplayName>Regular Expression Protection-1</DisplayName> <Properties/> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request</Source> <JSONPayload> <JSONPath> <Expression>$.store.book[*].author</Expression> <Pattern>REGEX PATTERN</Pattern> <Pattern>REGEX PATTERN</Pattern> </JSONPath> </JSONPayload> </RegularExpressionProtection>