المقدمة
يصف هذا المستند الخطأ 417: فشل التوقع" الذي يحدث، عادة خلف أحد أشكال الوكيل، عند إجراء مكالمة ويب لخادم.
معلومات أساسية
يحدث هذا عادة على إستدعاء أسلوب POST أو PUT. تبدو رسالة الإرجاع إلى Cisco Process Orchestrator (CPO) شيئا كهذا:
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>
المشكلة
وهذا يتسبب في فشل مكالمة الويب ولا يحصل المستخدم على إستجابة مناسبة من خادم الويب الذي يتوقعه. هذا ل CPO صيغة 3.5.0 أو أقدم.
ملاحظة: في 3.5.1، تمت إضافة علامة على كل هدف بحيث كان من السهل تكوين هذا ليتم تشغيله (فحصه) أو إيقاف تشغيله (غير محدد) حتى لا يفعل هذا التكوين أي شيء في 3.5.1 أو ما بعده.
الحل
انتقل إلى ملف Tidal.Automation.Server.exe.config على كل عقدة وقم بتكوين تجاوز لرأس 100-Continue. بشكل افتراضي، في طلب ويب الخاص بالإصدار 1.1 أو إصدار أحدث، يضيف .net رأس متابعة 100 إلى PUTs و POSTs بشكل افتراضي. إذا رأيت هذا إصدار، ينصح بإيقاف تشغيل هذا السلوك الافتراضي ل CPO فقط. يمكنك القيام بذلك من خلال التكوين في ملف .config كما هو موضح:
لكل عقدة:
1. إيقاف تشغيل خدمة CPO.
2. قم بإجراء نسخ إحتياطي لملف Tidal.Automation.Server.exe.config الموجود في دليل التثبيت، عادة مثل C:\Program Files\Cisco\Process Orchestrator
3. قم بتحرير ملف .config مباشرة بعد منطقة system.diagnostics وأضف ما يلي:
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
4. احفظ ملف .config وأعد تشغيل خدمة CPO.
ومرة أخرى، يجب القيام بذلك على كل عقدة.
ملاحظة: إذا تم إجراء ترقية على البيئة، فسيتم إستبدال ملف التكوين بملف التكوين القياسي وستحتاج إلى إستبدال هذا التكوين، وإلا فسيتم إرجاع الخطأ.