- PR -

GlobalProxySelectionの設定について

1
投稿者投稿内容
hiroko
会議室デビュー日: 2003/08/22
投稿数: 19
投稿日時: 2004-04-13 12:02
いつもお世話になっております。

GlobalProxySelectionについて質問があります。

現在、クライアント側が.NET(C#)で
サーバ側(サービス側)がJavaでWebサービスの開発を行っております。

その中で、Proxyの設定を行うために
GlobalProxySelectionを使っているのですが、
これを使った場合、
正しいID/パスワードでも正しくないID/パスワードでも、正しく認証されてしまいます。

手順は以下です。
@Proxy設定に正しいユーザIDとパスワードを設定する。
AWebサービスを呼び出す(成功する)
BProxy設定に正しくないIDとパスワードを設定する。
CWebサービスを呼び出す(成功する)

GlobalProxySelectionが以前の情報を持っているのでしょうか?
以下は、ソースの一部で、Webサービスを呼ぶたびに、通る部分です。
ここで、GlobalProxySelectionを上書きしているのですが・・・

心当たりがある方は是非、お教えください。

---------------------------------
//以前の情報を消す
GlobalProxySelection.Select = GlobalProxySelection.GetEmptyWebProxy();
//ホスト名とポート番号を元にインスタンスを生成する
System.Net.WebProxy proxy = new System.Net.WebProxy("ProxyHost",ProxyPort);
//プロキシユーザIDとパスワードを設定する
proxy.Credentials = new NetworkCredential("proxyUser","proxyPassword");
//GlobalProxySelectionに設定する
GlobalProxySelection.Select = proxy;
---------------------------------
soramimi
会議室デビュー日: 2003/10/29
投稿数: 19
投稿日時: 2004-04-13 12:52
MSDNによると「要求を行った後に GlobalProxySelection を変更しても、
WebRequest には反映されません」とのことですから、動作としては仕様
通りなのだと思います。

なので個々の要求に対してのプロキシの設定をクリアするためには以下の
ようにしてみてはどうでしょうか。

localhost.Service1 service = new localhost.Service1();
...
service.Proxy = GlobalProxySelection.GetEmptyWebProxy();
hiroko
会議室デビュー日: 2003/08/22
投稿数: 19
投稿日時: 2004-04-13 14:08
返信ありがとうございます。

GlobalProxySelectionを使わずに、
サービスのProxyプロパティに設定してみましたがダメでした。
すいません。

更に質問があるのですが、Proxy設定をしている場合でも
Proxyを通さないで直接繋ぎに行くことはあるのでしょうか?
というのは、一度目の成功(前回記述Aの状態)は、Proxyのアクセスログに残っていますが
二度目の成功(前回記述Cの状態)のアクセスログは残っていないからです。

以上、よろしく「お願いします。
1

スキルアップ/キャリアアップ(JOB@IT)