目录

简介

背景信息

问题

解决方案

简介

本文档介绍错误“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-continue报头配置旁路。默认情况下，在版本1.1或更高版本的Web请求上，.net会默认向PUT和POST添加一个100-continue报头。如果您看到此问题，建议仅关闭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服务。

同样，必须在每个节点上执行此操作。

注意：如果在环境上执行升级，则配置文件将被标准配置文件覆盖，您需要替换此配置，否则将返回错误。