Solução de problemas de erros de implantação da política de chamada de serviço

Esta é a documentação da Apigee e da Apigee híbrida.
Confira a documentação da Apigee Edge.

URLMissing

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]
URL is missing in Step [policy_name]

Exemplo de mensagem de erro

Error Saving Revision 2
URL is missing in Step ExecuteGeocodingRequest.

Captura de tela de exemplo

Erro ao salvar a revisão 2.

Causa

Se o elemento <URL> na política de chamada do serviço estiver ausente ou deixado em branco, a implantação do proxy de API falhará.

Diagnóstico

Examine o elemento <URL> na política de chamada de serviço nomeada na mensagem de erro. Se não houver um URL declarado no elemento, essa será a causa do erro. Por exemplo, a seguinte política de chamada de serviço tem um elemento <URL> vazio:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL></URL>
    </HTTPTargetConnection>
</ServiceCallout>

Como o elemento <URL> está vazio, a implantação do proxy de API falha.

Resolução

Verifique se o elemento <URL> na política de chamada de serviço tem um URL válido. Exemplo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

ConnectionInfoMissing

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]
Connection information is missing in Step [policy_name]

Exemplo de mensagem de erro

Error Saving Revision 1
Connection information is missing in Step ExecuteGeocodingRequest.

Captura de tela de exemplo

Erro ao salvar a revisão 1.

Causa

Se a política de chamadas de serviço não tiver o elemento <HTTPTargetConnection> ou <LocalTargetConnection>, a implantação do proxy da API falhará.

Diagnóstico

Determine se a política de chamada de serviço tem o elemento <HTTPTargetConnection> ou <LocalTargetConnection> definido. Exemplo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
</ServiceCallout>

Não há um elemento <HTTPTargetConnection> ou <LocalTargetConnection> definido na política.

Resolução

Verifique se a política de chamada de serviço tem o elemento <HTTPTargetConnection> ou <LocalTargetConnection>. Exemplo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

InvalidTimeoutValue

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]
Invalid Timeout value [0 or negative_number].

Exemplo de mensagem de erro

Error Saving Revision 1
Invalid Timeout value -1.

Captura de tela de exemplo

Erro ao salvar a revisão 1.

Causa

Se o elemento <Timeout> na política de chamada de serviço tiver um valor zero ou negativo especificado, a implantação do proxy de API falhará.

Diagnóstico

Analise o elemento <Timeout> na política de chamada de serviço. Se o valor for zero ou um número negativo, essa é a causa do erro. Exemplo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <Timeout>0</Timeout>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>

Como o elemento <Timeout> tem um valor zero, o proxy não é implantado.

Resolução

Verifique se o valor especificado para o elemento <Timeout> é um número diferente de zero ou não negativo. Exemplo:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ServiceCallout name="ExecuteGeocodingRequest">
    <Request variable="GeocodingRequest"/>
    <Response>GeocodingResponse</Response>
    <Timeout>10</Timeout>
    <HTTPTargetConnection>
        <URL>http://maps.googleapis.com/maps/api/geocode/json</URL>
    </HTTPTargetConnection>
</ServiceCallout>