Einleitung
In diesem Dokument wird der Fehler "417: Erwartung fehlgeschlagen", die normalerweise hinter einer Form von Proxy auftritt, wenn Sie einen Webanruf an einen Server tätigen.
Hintergrundinformationen
Dies geschieht normalerweise bei einem POST- oder PUT-Methodenaufruf. Die Rückmeldung an Cisco Process Orchestrator (CPO) sieht in etwa wie folgt aus:
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>
Problem
Dies führt dazu, dass der Webanruf fehlschlägt und der Benutzer keine angemessene Antwort vom Webserver erhält, die er erwartet. Dies gilt für CPO Version 3.5.0 oder älter.
Anmerkung: In 3.5.1 wurde für jedes Ziel ein Flag hinzugefügt, sodass es einfach war, dies so zu konfigurieren, dass es ein- (aktiviert) oder ausgeschaltet (deaktiviert) ist, sodass diese Konfiguration in 3.5.1 oder darüber hinaus nicht funktioniert.
Lösung
Navigieren Sie zur Datei Tidal.Automation.Server.Exe.Config auf jedem Knoten, und konfigurieren Sie eine Umgehung für den Header 100-continue. Standardmäßig fügt .net auf Webanfragen mit Version 1.1 oder höher PUTs und POSTs standardmäßig einen 100-continue-Header hinzu. Wenn Sie dieses Problem sehen, wird empfohlen, dieses Standardverhalten nur für CPO zu deaktivieren. Dies kann durch die Konfiguration in der Datei .config wie folgt erreicht werden:
Pro Knoten:
1. Schließen Sie den CPO-Dienst.
2. Sichern Sie die Datei Tidal.Automation.Server.Exe.Config, die sich im Installationsverzeichnis befindet, normalerweise wie C:\Program Files\Cisco\Process Orchestrator.
3. Bearbeiten Sie die Datei .config direkt nach dem Bereich system.diagnostics, und fügen Sie Folgendes hinzu:
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
4. Speichern Sie die Datei .config, und starten Sie den CPO-Dienst neu.
Auch dies muss auf jedem Knoten durchgeführt werden.
Anmerkung: Wenn in der Umgebung ein Upgrade durchgeführt wird, wird die Konfigurationsdatei mit der Standardkonfigurationsdatei überschrieben, und Sie müssen diese Konfiguration ersetzen, andernfalls wird der Fehler zurückgegeben.