Risoluzione degli errori di deployment delle norme relative ai callout di servizio

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

URLMissing

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

Error Saving Revision [revision_number]
URL is missing in Step [policy_name]

Esempio di messaggio di errore

Error Saving Revision 2
URL is missing in Step ExecuteGeocodingRequest.

Screenshot di esempio

Causa

Se l'elemento <URL> nel criterio Service Callout non è presente o è vuoto, il deployment del proxy API non va a buon fine.

Diagnosi

Esamina l'elemento <URL> nella policy di callout del servizio indicata nel messaggio di errore. Se non è dichiarato alcun URL all'interno dell'elemento, questo è il motivo dell'errore. Ad esempio, la seguente policy di callout del servizio ha un elemento <URL> vuoto:

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

Poiché l'elemento <URL> è vuoto, il deployment del proxy API non va a buon fine.

Risoluzione

Assicurati che l'elemento <URL> nel criterio Callout del servizio abbia un URL valido. Ad esempio:

<?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

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

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

Screenshot di esempio

Causa

Se il criterio di callout del servizio non include l'elemento <HTTPTargetConnection> o <LocalTargetConnection>, il deployment del proxy API non va a buon fine.

Diagnosi

Determina se la policy di chiamata al servizio ha definito l'elemento <HTTPTargetConnection> o <LocalTargetConnection>. Ad esempio:

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

Tieni presente che nella policy non è definito alcun elemento <HTTPTargetConnection> o <LocalTargetConnection>.

Risoluzione

Assicurati che la policy di estensione di chiamata del servizio contenga l'elemento <HTTPTargetConnection> o <LocalTargetConnection>. Ad esempio:

<?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

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Esempio di messaggio di errore

Error Saving Revision 1
Invalid Timeout value -1.

Screenshot di esempio

Causa

Se l'elemento <Timeout> nel criterio Callout del servizio ha un valore pari a zero o negativo specificato, il deployment del proxy API non riesce.

Diagnosi

Esamina l'elemento <Timeout> nelle norme sui callout di servizio. Se il valore è zero o un numero negativo, questo è il motivo dell'errore. Ad esempio:

<?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>

Poiché l'elemento <Timeout> ha un valore pari a zero, il proxy non viene implementato.

Risoluzione

Assicurati che il valore specificato per l'elemento <Timeout> sia un numero diverso da zero o non negativo. Ad esempio:

<?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>