.NET error: The request failed with HTTP status 417: Expectation failed


NetServiceException.png

Ovo je poruka izuzetka koji se pojavi kada se pozove neka metoda servisa, bilo da se radi o web ili windows aplikaciji. Naime, poslije godinu dana urednog rada aplikacije, jedan od klijenata prijavio je pogrešku koja je imala tekst naslova ovog posta. Ostali klijenti normalno su mogli izvršavati zadatke. Nakon pretraživanja interneta i raznih foruma naletio sam na članak na www.codeproject.com, koji pod komentarima objašnjava ovu pogrešku. Na žalost tekst i korespodencija bila je na španskom pa sam se dobrano namučio dok sam povezao šta je pisac htio reći. Jošjedan članak koji piše o ovoj greški na engleskom nalazi se ovdje.

Naime pogreška se javlja kada .NET aplikacija šalje “Expect: 100-Continue” zaglavlje koje .net servis odbija.

U tom pogledu potrebno je osobinu Expect100Continue podesiti na false, i onda sve ide kao podmazano.

Obzirom da je pomenuta osobina statički član klase ServicePointManager, ona se definiše bilo gdje u kodu, a preporučujem u konstruktoru klase koja izvršava određene metode web  servisa.

netService.png

Ovo je greška koja se rijetko javlja, ali je dobro poznavati da se ne izgubi puno vremena prilikom detektovanja.

Ugodno programiranje…

Advertisements