Introduction
Ce document décrit l'erreur "417 : Échec de l'attente » qui se produit, généralement derrière une forme quelconque de proxy, lorsque vous faites un appel Web à un serveur.
Informations générales
Cela se produit normalement sur 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 de réponse appropriée du serveur Web auquel il s'attend. Il s'agit de la version 3.5.0 ou ultérieure de la VABF.
Note: Dans la version 3.5.1, un indicateur a été ajouté sur chaque cible de sorte qu'il était facile de configurer qu'il soit activé (activé) ou désactivé (désactivé), 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 versions 1.1 ou ultérieures, .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 la VABF uniquement. Vous pouvez effectuer cette opération via la configuration dans le fichier .config comme indiqué :
Par noeud :
1. Arrêter le service VABF.
2. Sauvegardez le fichier Tidal.Automation.Server.Exe.Config qui se trouve dans le répertoire d'installation, généralement comme C:\Program Files\Cisco\Process Orchestrator
3. Modifiez le fichier .config juste après la zone system.diagnostics et ajoutez ceci :
<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.
Note: 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.