簡介
本檔案將說明錯誤「417:Expectation Failed」,通常在某種形式的代理之後,當您對伺服器進行Web呼叫時發生。
背景資訊
這通常發生在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>
問題
這會導致Web呼叫失敗,並且使用者無法從Web伺服器獲得他們期望的正確響應。適用於CPO 3.5.0版或更高版本。
附註:在3.5.1中,在每個目標上新增了一個標誌,以便可以輕鬆地將它配置為開啟(選中)或關閉(未選中),這樣在3.5.1或更高版本中此配置不會執行任何操作。
解決方案
導航到每個節點上的Tidal.Automation.Server.Exe.Config檔案,並為100連續標頭配置旁路。預設情況下,在版本1.1或更高版本的Web請求上, .net會預設向PUT和POST新增一個100連續報頭。如果您看到此問題,建議只關閉CPO的預設行為。您可以通過.config檔案中的配置執行此操作,如下所示:
每個節點:
1.關閉CPO服務。
2.備份位於安裝目錄中的Tidal.Automation.Server.Exe.Config檔案,通常類似於C:\Program Files\Cisco\Process Orchestrator
3.在system.diagnostics區域後立即編輯.config檔案並新增以下內容:
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
4.儲存.config檔案並重新啟動CPO服務。
同樣,這必須在每個節點上完成。
附註:如果在環境中執行升級,則配置檔案將被標準配置檔案覆蓋,您需要替換此配置,否則將返回錯誤。