Introduction
Este documento descreve o erro "417: 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 da Web que ele espera. Este é para a versão 3.5.0 ou anterior do CPO.
Note: Na 3.5.1, um sinalizador foi adicionado em cada destino para que fosse fácil configurar isso para estar ligado (marcado) ou desligado (desmarcado) para que essa configuração não faça nada na 3.5.1 ou além.
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, na solicitação da Web que é a versão 1.1 ou posterior, .net adiciona um cabeçalho 100-continue a PUTs e 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 C:\Program Files\Cisco\Process Orchestrator
3. Edite o arquivo .config logo após a área system.diagnostics e adicione isto:
<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 uma atualização for executada 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á.