web-dev-qa-db-ja.com

リクエストはHTTPステータス417で失敗しました:予期された失敗-Webサービスの使用

数分前にビジュアルスタジオ2010でプロジェクトに取り組んでいたところ、突然PCが再起動しました。
再起動後、ローカルマシンでそのWebサイトを参照すると、以下のエラーが発生しました。

リクエストはHTTPステータス417で失敗しました:予期された失敗。

説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーの詳細と、エラーがコードのどこで発生したかについては、スタックトレースを確認してください。

例外の詳細:System.Net.WebException:要求はHTTPステータス417で失敗しました:予期された失敗。

私のWebサイトの名前は:MyWebSite
MyWebSiteが使用しているリモートサーバー(vps)にWebサービスがあり、そのエラーはそれと関係しています。

Line 172:        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/MyWebSiteEnable", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
Line 173:        public bool MyWebSiteEnable() {
Line 174:            object[] results = this.Invoke("MyWebSiteEnable", new object[0]);
Line 175:            return ((bool)(results[0]));
Line 176:        }

そのWebサービスについてはすべて問題ありません。
それで、このエラーとは何ですか、どうすれば修正できますか?
Webサービスの内部には、trueを返す単純なブールメソッドがあります。
そして私は以下のようなコードビハインドでそのWebサービスを使用しています:

private void CheckForPageExpiration()
{
    MyService service = new MyService();
    if (service.MyWebSiteEnable())
    {
    }
    else
    {
        Response.Redirect("~/blank.aspx");
    }
}

そのWebサービスを削除して再度追加しましたが、まだエラーが発生します!
何が問題になっていますか?

前もって感謝します

22
SilverLight

This は、問題がサーバーからの100-continue応答をサポートしないプロキシサーバーであることを示唆し、それを解決するためのコードを示します。これは、それが別のネットワークで動作する理由を説明します。

ISPの慣行を変更するように説得することはほとんどありません(ただし、リクエストに害はありません)。リンクが示唆するように、100-Continueを送信する動作をオフにする必要があります。

このコードをWebリクエストの前に置く:

System.Net.ServicePointManager.Expect100Continue = false;

または、次の行を<configuration>タグの子としてアプリケーション構成ファイルに追加します。

<system.net>
    <settings>
        <servicePointManager expect100Continue="false" />
    </settings>
</system.net>
45
Michael

以下のコード行を構成ファイルに追加します。

<system.net>
    <defaultProxy useDefaultCredentials="true" >
    </defaultProxy>
</system.net>
0
Armaan