Sommario

Introduzione

Premesse

Problema

Soluzione

Introduzione

In questo documento viene descritto l'errore "417: Aspettativa non riuscita" che si verifica, generalmente dietro una forma di proxy, quando si effettua una chiamata Web a un server.

Premesse

Ciò si verifica in genere in una chiamata al metodo POST o PUT. Il messaggio restituito a Cisco Process Orchestrator (CPO) ha il seguente aspetto:

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

In questo modo la chiamata Web non riesce e l'utente non riceve una risposta corretta dal server Web previsto. Questo è per CPO versione 3.5.0 o precedente.

Nota: Nella versione 3.5.1, è stato aggiunto un flag su ciascuna destinazione in modo che fosse facile configurarla per essere attivata (selezionata) o disattivata (deselezionata) in modo che questa configurazione non esegua alcuna operazione nella versione 3.5.1 o successive.

Soluzione

Passare al file Tidal.Automation.Server.Exe.Config su ogni nodo e configurare un bypass per l'intestazione 100-continue. Per impostazione predefinita, in una richiesta Web versione 1.1 o successiva, .net aggiunge un'intestazione 100-continue a PUT e POST per impostazione predefinita. Se si verifica questo problema, si consiglia di disattivare il comportamento predefinito solo per CPO. È possibile eseguire questa operazione tramite la configurazione nel file .config come mostrato di seguito:

Per nodo:

1. Arrestare il servizio CPO.

2. Eseguire il backup del file Tidal.Automation.Server.Exe.Config che si trova nella directory di installazione, in genere come C:\Program Files\Cisco\Process Orchestrator

3. Modificare il file .config subito dopo l'area system.diagnostics e aggiungere quanto segue:

<system.net>

<settings>

<servicePointManager expect100Continue="false" />

</settings>

</system.net>

4. Salvare il file .config e riavviare il servizio CPO.

Anche in questo caso, è necessario eseguire questa operazione su ogni nodo.

Nota: Se viene eseguito un aggiornamento dell'ambiente, il file di configurazione verrà sovrascritto dal file di configurazione standard e sarà necessario sostituire questa configurazione. In caso contrario, verrà restituito l'errore.