Resolução de problemas de implementação da política de pedidos de lances de serviços

Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do Apigee Edge.

URLMissing

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

Mensagem de erro de exemplo

Error Saving Revision 2
URL is missing in Step ExecuteGeocodingRequest.

Captura de ecrã de exemplo

Ocorreu um erro ao guardar a revisão 2.

Causa

Se o elemento <URL> na política Service Callout estiver em falta ou for deixado em branco, a implementação do proxy de API falha.

Diagnóstico

Examine o elemento <URL> na política de texto destacado de serviços mencionada na mensagem de erro. Se não existir um URL declarado no elemento, esse é o motivo do erro. Por exemplo, a seguinte política de textos destacados de serviços 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>

Uma vez que o elemento <URL> está vazio, a implementação do proxy de API falha.

Resolução

Certifique-se de que o elemento <URL> na política de indicação de serviço tem um URL válido. Por 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 implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:

Error Saving Revision [revision_number]
Connection information is missing in Step [policy_name]

Mensagem de erro de exemplo

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

Captura de ecrã de exemplo

Ocorreu um erro ao guardar a revisão 1.

Causa

Se a política de chamadas de serviço não tiver o elemento <HTTPTargetConnection> nem o elemento <LocalTargetConnection>, a implementação do proxy de API falha.

Diagnóstico

Determine se a política de indicação de serviços tem o elemento <HTTPTargetConnection> ou <LocalTargetConnection> definido. Por exemplo:

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

Repare que não existe nenhum elemento <HTTPTargetConnection> nem <LocalTargetConnection> definido na política.

Resolução

Certifique-se de que a política de indicação de serviço tem o elemento <HTTPTargetConnection> ou <LocalTargetConnection>. Por 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 implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:

Error Saving Revision [revision_number]
Invalid Timeout value [0 or negative_number].

Mensagem de erro de exemplo

Error Saving Revision 1
Invalid Timeout value -1.

Captura de ecrã de exemplo

Ocorreu um erro ao guardar a revisão 1.

Causa

Se o elemento <Timeout> na política Service Callout tiver um valor zero ou negativo especificado, a implementação do proxy de API falha.

Diagnóstico

Examine o elemento <Timeout> na política de pedidos de serviços. Se o valor for zero ou um número negativo, essa é a causa do erro. Por 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>

Uma vez que o elemento <Timeout> tem um valor de zero, a implementação do proxy falha.

Resolução

Certifique-se de que o valor especificado para o elemento <Timeout> é um número diferente de zero ou não negativo. Por 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>