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

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

URLMissing

Messaggio di errore

Il deployment del proxy API tramite l'API o la UI Apigee 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

Errore durante il salvataggio della revisione 2.

Causa

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

Diagnosi

Esamina l'elemento <URL> nella policy Callout di 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 l'API o la UI Apigee 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

Errore durante il salvataggio della revisione 1.

Causa

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

Diagnosi

Determina se il criterio Chiamata di 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 non è definito alcun elemento <HTTPTargetConnection> o <LocalTargetConnection> nel criterio.

Risoluzione

Assicurati che la policy 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 o l'API Apigee 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

Errore durante il salvataggio della revisione 1.

Causa

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

Diagnosi

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