Résolution des erreurs de déploiement de la règle ServiceCallout (Appel de service)

Vous consultez la documentation d'Apigee X.
Consultez la documentation d'Apigee Edge.

URLMissing

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :

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

Exemple de message d'erreur

Error Saving Revision 2
URL is missing in Step ExecuteGeocodingRequest.

Exemple de capture d'écran

Erreur lors de l'enregistrement de la révision 2.

Cause

Si l'élément <URL> de la règle ServiceCallout est manquant ou vide, le déploiement du proxy d'API échoue.

Diagnostic

Examinez l'élément <URL> dans la règle ServiceCallout nommée dans le message d'erreur. Si aucune URL n'est déclarée dans l'élément, il s'agit de la cause de cette erreur. Par exemple, la règle ServiceCallout suivante comporte un élément <URL> vide :

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

Puisque l'élément <URL> est vide, le déploiement du proxy d'API échoue.

Solution

Assurez-vous que l'élément <URL> de la règle ServiceCallout possède une URL valide. Exemple :

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

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :

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

Exemple de message d'erreur

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

Exemple de capture d'écran

Erreur lors de l&#39;enregistrement de la révision 1

Cause

Si la règle ServiceCallout ne contient ni l'élément <HTTPTargetConnection>, ni l'élément <LocalTargetConnection>, le déploiement du proxy d'API échoue.

Diagnostic

Déterminez si l'élément <HTTPTargetConnection> ou <LocalTargetConnection> est défini dans la règle ServiceCallout. Exemple :

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

Notez qu'aucun élément <HTTPTargetConnection> ou <LocalTargetConnection> n'est défini dans la règle.

Solution

Assurez-vous que la règle ServiceCallout contient l'élément <HTTPTargetConnection> ou <LocalTargetConnection>. Exemple :

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

Message d'erreur

Le déploiement du proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue avec le message d'erreur suivant :

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

Exemple de message d'erreur

Error Saving Revision 1
Invalid Timeout value -1.

Exemple de capture d'écran

Erreur lors de l&#39;enregistrement de la révision 1

Cause

Si l'élément <Timeout> de la règle ServiceCallout a une valeur zéro ou négative, le déploiement du proxy d'API échoue.

Diagnostic

Examinez l'élément <Timeout> dans la règle ServiceCallout. Si la valeur est zéro ou un nombre négatif, il s'agit de la cause de l'erreur. Exemple :

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

Comme l'élément <Timeout> a une valeur de zéro, le proxy ne parvient pas à effectuer le déploiement.

Solution

Assurez-vous que la valeur spécifiée pour l'élément <Timeout> est un nombre autre zéro ou non négatif. Exemple :

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