Contenido

Introducción

Antecedentes

Problema

Solución

Introducción

Este documento describe el error "417: Expectation Failed" que ocurre, normalmente detrás de algún tipo de proxy, cuando realiza una llamada web a un servidor.

Antecedentes

Esto ocurre normalmente en una llamada al método POST o PUT. El mensaje de devolución a Cisco Process Orchestrator (CPO) se parece a lo siguiente:

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>

Problema

Esto hace que la llamada web falle y que el usuario no obtenga una respuesta adecuada del servidor web que espera. Esto es para CPO versión 3.5.0 o posterior.

Nota: En 3.5.1, se agregó un indicador en cada destino para que fuera fácil configurar esto para que estuviera activado (activado) o desactivado (sin marcar), de modo que esta configuración no haría nada en 3.5.1 o posterior.

Solución

Navegue hasta el archivo Tidal.Automation.Server.Exe.Config en cada nodo y configure un desvío para el encabezado 100-continue. De forma predeterminada, en una solicitud web que sea la versión 1.1 o posterior, .net agrega un encabezado de 100-continue a los PUT y POST de forma predeterminada. Si ve este problema, se recomienda desactivar ese comportamiento predeterminado sólo para CPO. Puede hacer esto a través de la configuración en el archivo .config como se muestra:

Por nodo:

1. Cierre el servicio CPO.

2. Realice una copia de seguridad del archivo Tidal.Automation.Server.Exe.Config que se encuentra en el directorio de instalación, normalmente como C:\Program Files\Cisco\Process Orchestrator

3. Edite el archivo .config justo después del área system.diagnostics y agregue esto:

<system.net>

<settings>

<servicePointManager expect100Continue="false" />

</settings>

</system.net>

4. Guarde el archivo .config y reinicie el servicio CPO.

De nuevo, esto se debe hacer en cada nodo.

Nota: Si se realiza una actualización en el entorno, el archivo de configuración se sobrescribirá con el archivo de configuración estándar y tendrá que reemplazar esta configuración, de lo contrario el error volverá.