Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
ExecutionError
Código de erro
steps.javacallout.ExecutionError
Corpo da resposta de erro
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
Causa
Este erro ocorre se o código Java gerar uma exceção ou devolver null durante a execução de uma política JavaCallout.
Diagnóstico
Inicie uma sessão de rastreio para capturar o erro e identificar que política JavaCallout falhou.
Examine a política JavaCallout e o recurso usado. No exemplo acima, a política JavaCallout usa um recurso denominado
hello.jar
, conforme mostrado abaixo:<JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>
Capture e armazene a exceção Java numa variável de fluxo modificando o código-fonte, conforme descrito em Como processar erros nas políticas JavaCallout.
Compile e substitua o recurso afetado (ficheiro JAR) pelo artefacto Java atualizado.
Implemente o proxy de API como uma nova revisão e faça a chamada API.
Inicie outra sessão de rastreio.
Tenha em atenção que está disponível um rastreio de pilha na variável
JAVA_STACKTRACE
. O rastreio da pilha indica a exceção real, o ficheiro de origem Java e o número da linha em que o erro está a ser lançado.Use estas informações para corrigir o problema no código Java.
Neste exemplo, a política JavaCallout falhou devido a uma ArithmeticException (divisão por zero) no ficheiro
JavaError.java
na linha n.º 25.
Resolução
Consoante a exceção gerada, corrija o problema nos ficheiros de origem Java relevantes. a. No exemplo apresentado acima, o problema foi causado por um erro aritmético (divisão por zero). Aceda ao ficheiro de origem específico e ao número da linha indicados pelo rastreio da pilha.
b. Uma vez que não pode dividir por zero, remova o bloco else completo que contém a linha de código com falhas para resolver o problema.
Substitua o ficheiro JAR relevante que contém os ficheiros modificados no nível adequado (proxy de API, ambiente ou organização), onde existia anteriormente.
Guarde e implemente o proxy de API como uma nova revisão.