要求はHTTPステータス407で失敗しました:AuthenticationRequired。
-
21-12-2019 - |
質問
OKの人々..契約をヘレス - >
私は私のコンソールアプリでWebサービスを消費し、ローカルマシンから実行しているときに同じ呼び出しを正常に呼び出すことができました。
Win 2K8ボックスにアプリを展開すると、トラブルが醸造されます。 最初に起動しました - > リモート名を解決できませんでした。サービス。
次のエラーが存在します - > 要求はHTTPステータス407で失敗しました407:AuthenticationRequired 。そして私は同じことを解決するためのアイデアが失われます。
私は使用しました - > .proxy.credentals= system.net.CreditureCache.DefaultCredentials。また、明示的に定義されたプロキシクレジスト - > username、password、ドメイン - >がありませんが、
Webサービスは、サーバ内からブラウザを介してアクセスされるとうまく機能します。
任意の助けが高く評価されるでしょう。
あなたの時間をありがとう。
RGDS、
解決 2
OK ..
NOC(ネットワーク)guysと連絡を取った - そしてそれらは順番にサーバーへの/からの要求/応答への明示的なIPベースのアクセスをオンにします。
それはセキュリティ侵害をもたらします - よく私はよくわからない。
RGDS、
他のヒント
あなたはProxyServerの後ろにいますか?ブラウザにプロキシサーバーが設定されていますか? 407は「プロキシ認証が必要」を意味しますので、プロキシサーバーで認証できる資格情報を提供する必要があります。私の最初の推測はあなたがこのような状態に必要な必要があります。
var credentials = new NetworkCredential("username", "password", "domain");
WebProxy proxy = new WebProxy("YourProxyServerUri", true) { Credentials = credentials };
.
と、WebサービスのプロキシサーバーとしてTE Proxyオブジェクトを使用する必要があります。
システム設定されたプロキシサーバー:
を使用することもできます。 WebProxy myProxy = (WebProxy) System.Net.HttpWebRequest.GetSystemWebProxy();
.
またはあなたはweb.configでそれを設定することさえできます(しかし、ここで資格情報を提供することは不可能であると思います:
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="YourProxyServerUri"
bypassonlocal="True" />
</defaultProxy>
</system.net>
.
すべてがうまくいったら、コード外から、実行時にProxyServerと認証情報を設定する方法を提供することができます。そうでなければ、あなたはあなたの生産環境または場所の変化の何かが何かを再コンパイルする必要があります。これをweb.configのweb.configのあなたのAppSettingsセクションに入れることができます。
また、設定に適切なポート番号を入力してください(例192.168.1.100:8888)