Risoluzione degli errori di implementazione dei criteri relativi ai callout di servizio

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

URLMissing

Messaggio di errore

Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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 Callout di servizio non è presente o viene lasciato vuoto, il deployment del proxy API non riesce.

Diagnostica

Esamina l'elemento <URL> nel criterio Callout di servizio indicato nel messaggio di errore. Se all'interno dell'elemento non è stato dichiarato alcun URL, è questa la causa dell'errore. Ad esempio, le seguenti norme sui callout di servizio hanno 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 riesce.

Risoluzione

Assicurati che l'elemento <URL> nelle norme relative ai callout di 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 l'UI o l'API di gestione perimetrale non riesce e genera 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 le norme relative ai callout di servizio non contengono l'elemento <HTTPTargetConnection> o <LocalTargetConnection>, il deployment del proxy API non va a buon fine.

Diagnostica

Determina se nel criterio Callout di servizio è stato definito un 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 non è stato definito alcun elemento <HTTPTargetConnection> o <LocalTargetConnection> nel criterio.

Risoluzione

Assicurati che le norme relative ai callout di servizio includano 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 l'UI o l'API di gestione perimetrale non riesce e genera 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 per l'elemento <Timeout> nel criterio Callout di servizio è specificato un valore pari a zero o negativo, il deployment del proxy API non riesce.

Diagnostica

Esamina l'elemento <Timeout> nelle norme relative ai 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 deployment del proxy non riesce.

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>