Introduction
Ce document décrit l'erreur "417 : « Echec des attentes » qui se produit, normalement derrière une forme quelconque de proxy, lorsque vous passez un appel Web à un serveur.
Informations générales
Cela se produit normalement lors d'un appel de méthode POST ou PUT. Le message de retour à Cisco Process Orchestrator (CPO) ressemble à ceci :
The remote server returned an error: (417) Expectation Failed.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>417 Expectation Failed</title>
</head><body>
<h1>Expectation Failed</h1>
<p>The expectation given in the Expect request-header
field could not be met by this server.
The client sent<pre>
Expect: 100-continue
</pre>
</p><p>Only the 100-continue expectation is supported.</p>
</body></html>
Problème
Cela entraîne l'échec de l'appel Web et l'utilisateur n'obtient pas une réponse correcte du serveur Web qu'il attend. Ceci est pour CPO Version 3.5.0 ou plus.
Remarque : Dans la version 3.5.1, un indicateur a été ajouté sur chaque cible afin qu'il soit facile de configurer cette option pour qu'elle soit activée (cochée) ou désactivée (non cochée), de sorte que cette configuration ne fera rien dans la version 3.5.1 ou ultérieure.
Solution
Accédez au fichier Tidal.Automation.Server.Exe.Config sur chaque noeud et configurez un contournement pour l'en-tête 100-continue. Par défaut, sur les requêtes Web qui sont la version 1.1 ou ultérieure, .net ajoute un en-tête 100-continue aux PUT et POST par défaut. Si vous voyez ce problème, il est conseillé de désactiver ce comportement par défaut pour CPO seulement. Vous pouvez le faire par le biais de la configuration dans le fichier .config comme indiqué :
Par noeud :
1. Arrêtez le service CPO.
2. Sauvegardez le fichier Tidal.Automation.Server.Exe.Config qui se trouve dans le répertoire d'installation, normalement comme C:\Program Files\Cisco\Process Orchestrator
3. Modifiez le fichier .config juste après la zone system.diagnostics et ajoutez ce qui suit :
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
4. Enregistrez le fichier .config et redémarrez le service CPO.
Encore une fois, cela doit être fait sur chaque noeud.
Remarque : Si une mise à niveau est effectuée sur l'environnement, le fichier de configuration sera remplacé par le fichier de configuration standard et vous devrez remplacer cette configuration, sinon l'erreur reviendra.