Introdução
Este documento descreve o erro "417: Expectation Failed" (Falha na expectativa) que ocorre, normalmente por trás de alguma forma de proxy, quando você faz uma chamada pela Web para um servidor.
Informações de Apoio
Isso normalmente ocorre em uma chamada de método POST ou PUT. A mensagem de retorno para o Cisco Process Orchestrator (CPO) é semelhante a esta:
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
Isso faz com que a chamada da Web falhe e o usuário não obtenha uma resposta adequada do servidor Web que ele espera. É para CPO versão 3.5.0 ou anterior.
Note: No 3.5.1, uma flag foi adicionada em cada destino para que fosse fácil configurá-lo como ativado (marcado) ou desativado (desmarcado) para que essa configuração não faça nada no 3.5.1 ou posterior.
Solução
Navegue até o arquivo Tidal.Automation.Server.Exe.Config em cada nó e configure um desvio para o cabeçalho 100-continue. Por padrão, em uma solicitação da Web que seja da versão 1.1 ou posterior, o .net adiciona um cabeçalho de 100 continuações aos PUTs e aos POSTs por padrão. Se você vir esse problema, é aconselhável desativar esse comportamento padrão somente para CPO. Você pode fazer isso por meio da configuração no arquivo .config como mostrado:
Por nó:
1. Desligue o serviço de CPO.
2. Faça backup do arquivo Tidal.Automation.Server.Exe.Config localizado no diretório de instalação, normalmente como o C:\Program Files\Cisco\Process Orchestrator
3. Edite o arquivo .config logo após a área system.diagnostics e adicione isso:
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
4. Salve o arquivo .config e reinicie o serviço CPO.
Novamente, isso deve ser feito em cada nó.
Note: Se um upgrade for executado no ambiente, o arquivo de configuração será substituído pelo arquivo de configuração padrão e você precisará substituir essa configuração, caso contrário o erro retornará.