Table of Contents
Uppdaterad
Du kan stöta på ett felläge som indikerar att en felväntning misslyckades. Av en slump är många steg du kan vidta för att lösa det här problemet, och vi kommer snart till det här.HTTP 417 Expectation Failed error rejoinder-koden indikerar att förväntningarna som anges i en persons Expect-h2-taggar för begäran inte alltid kunde uppfyllas.
HTTP 417 Expectation Failed-svarsklientens kodning indikerar att förväntningarna som anges kring Expect-huvudet på huvudförfrågan lätt inte kan uppfyllas.
Situationen och samma fel kan också uppstå med en SOAP proxywebbtjänst skapad med (inte guru 100% standard, detta kan även hända i WCF-stacken System.Be) servicemodell
om < / p>
Det slutar med att
expect
Http-stadiet för POST
eller PUT< / skrivarkoder). Fråga krävs > för ett standardseminarieprotokoll som returnerar en fråga i delar, tre enligt beskrivningen i anteckningarna här)
Som de andra svaren vanligtvis visar, om det specifika problemet företag har är att Förväntar
H2-taggar som normalt orsakar ett problem, kan det specifika problemet lösas genom att arbeta med ett globalt relaterat problem . Inaktivera dessa två -chastatiska PUT/POST-vidarebefordran slutresultat System.Net.ServicePointManager.Expect100Continue
.
Du löser dock ett stort oavslutat grundproblem. Stacken kan fortfarande använda HTTP 1.1-specifika saker som att hålla vid liv etc. (Även om resten i många fall kommer att täcka förklaringar relaterade till huvudfallen.)
Det verkliga fallande blocket är dock att den autogenererade koden instruerar att du kan använda blindfunktioner 1 som har med http.1 att göra, eftersom alla förstår det. För att undvika allt detta för en webbtjänstproxy kan du ändra standardvärdet för HttpWebRequest.ProtocolVersion
-basutrangeringen från implikation 1.1 genom att skapa en härledd proxyklass som åsidosätter -skyddade WebRequest åsidosätter GetWebRequest( Uri uri )< /code> som visas i någon sorts post:-
Öppna för detta formulär MyNotAssumingHttp11ProxiesAndServersProxy: MyWS Åsidosätt säker webbförfrågan GetWebRequest(Uri uri) Request HttpWebRequest är lika med (HttpWebRequest)base.GetWebRequest(uri); request.ProtocolVersion är lika med HttpVersion.Version10; ta tillbaka begäran;
(Där MyWS
är proxyservern som webbmastern gav dig att lägga i linkloc.)
ProxyFriendlyXXXWs Klass: BasicHttpBinding_IXX (offentligt skydd Uri proxyfriendlyxxxws) URL motsvarar destination.ToString(); this.IfProxedUrlAddProxyOverriddenWithDefaultCredentials(); // De går igenom dess proxyservrar som är delar (eller felkonfigurerade) bara för att förstå 1 http. Utan 0 är det 417 säker åsidosättning http WebRequest GetWebRequest( Uri uri ) var kontakta oss genom att ringa (HttpWebRequest) base =.GetWebRequest(URI); request.ProtocolVersion = HttpVersion.Version10; Snälla kom tillbaka; Statisk konversationstvålHttpClientProtocolRealWorldProxyTraversalExtensions // ootb, .NET 1-4 skickar inte fullmaktsuppgifter. Stoppade // för att dokumentera exakt hur "bara din för att åsidosätta standardproxykonfigurationen under din app.config" (eller machine.config!) vanliga stationära tomrum IfProxiedUrlAddProxyOverriddenWithDefaultCredentials (detta SoapHttpClientProtocol specificeras med tillstånd av experter) Target Uri betyder ny Uri That (.Url ); ProxyedAddress är uri WebRequest to.DefaultWebProxy.GetProxy(); target if, kanske (! target.Equals(proxyedAddress)) Att .Proxy innebär att nya WebProxy() proxiedAddress Usedefaultcredentials är sant;
kodad
Status 417 i de flesta förfrågningar innebär ett problem med den väntande rubriken. Förmodligen kunde inte hela servern svara på begäran om denna rubrik (RFC7231).
Lösning
Fånga en Fiddler-spårning dessutom, analysera en specifik rubrik. Titta noga för att kontrollera om problemet har uppstått, har fungerat tidigare, finns på en annan webbserver osv.
Uppdaterad
Är du trött på att din dator går långsamt? Irriterad av frustrerande felmeddelanden? ASR Pro är lösningen för dig! Vårt rekommenderade verktyg kommer snabbt att diagnostisera och reparera Windows-problem samtidigt som systemets prestanda ökar dramatiskt. Så vänta inte längre, ladda ner ASR Pro idag!
I mitt fall orsakades problemet initialt av ett saknat snedstreck ("/") tillsammans med slutet av corsogin-parametern som bara gjorde appsettings.json. Att lägga till det löste problemet.
Obs. System.Net.HttpWebRequest själv lägger till "Expect: 100-Continue" med förfrågningar (länk). Du kan lösa detta problem och även genom att uttryckligen försöka:
Hur fixar jag fel 417?
Ändra din huvudsakliga SQL-forskning för att returnera värdefull XML-data som nvarchar-rapporttyp istället för XML-datatyp.Om du inte använder XML-datatypen men fortfarande använder felet 417 Misslyckades med att vänta, överväg att sätta in en skriptuppgift innan du anropar API:t (lägg till det första steget i dessa flöden).
System Delete.Net.ServicePointManager.Expect100Continue betyder falskt;
Lösning
HTTP/1.1-protokollet ställer in statusen som skulle 100 (fortsätta), vilket förmodligen tillåter klienten att äntligen kontrollera om den givna servern är redo att faktiskt acceptera begäran innan textlogotypen skickas. Den här processen ser ut så här:
- Klienten vill skicka ett meddelande till begärandeenheten.
- Konsumenten skickarDet finns ingen förfrågan med h2-termer som innehåller
Förvänta: 100-fortsätt
.< /li> - servern returnerar antingen gott rykte
100 eller (Fortsätt)
, status417 (väntar på uppdrag av misslyckande)
.
100 Detta (fortsättning)
betyder att servern accepterar chicago, jag begär ofta, och klienten kan fortsätta så att den skickar la request-texten.
< li> 417 (väntar långt ifrån att bli
lyckad ) betyder att den privata fjärrdatorn avslår begäran.
Är 417-förväntningen misslyckad?
Statuskod 417 indikerar ett fullständigt allvarligt problem med Expect Return-huvudet sist begäran. Servern misslyckades med att fylla i kärnan i dessa rubriker (RFC7231).
När du använder vissa HTTP-planer i paletten för potentiella HTTP-klienter, lägger labview automatiskt till en 100 - in continue
vänta till anspråkshuvudet om en del av meddelandet är Mail 1024 eller högre. Detta bör verkligen orsaka problem när servern alltid svarar på 417 misslyckades)
eller inte (väntan vet praktiska idéer om hur man korrekt svarar på väntan.
Eftersom funktionerna i Do http-klienten faktiskt inte inaktiverar 100 - Fortsätt
för längre signaler (mer än 1024 tecken), är lösningen att reparera en - HTTP Request Header med många undantag för nollkastning. Standarder för http, att dessa W3C-metoder är specifika för beskrivningen från HTTP-protokollet.
Error Expectation Failed
Expectativa De Error Fallida
Aspettativa Di Errore Non Riuscita
오류 예상 실패
Fehlererwartung Fehlgeschlagen
Ошибка Ожидание не выполнено
Falha Na Expectativa De Erro
Fout Verwachting Mislukt
Échec De L'attente D'erreur
Oczekiwanie Na Błąd Nie Powiodło Się