0

リモート AIX サーバーでホストされている Web サービスがあり、サービスには HTTPS アクセスがあり、基本認証がオンになっています。

ASMX Web 参照を使用して、.Net 4.0 プロジェクトからプロキシ クラスを生成しました。したがって、Webサービスを呼び出す次のコードがあります

var service = new ServiceProxy();
service.Credentials = new NetworkCredential("service-uid", "service-pwd");

var response = service.add(request);

それは非常に単純なコードです。ここで、Fiddler を実行して、ローカル Windows マシンとリモート Unix サーバー間のトラフィックを調べましたが、Fiddler から次の 4 行が表示されていることに気付きました。

  • 200、HTTP、Tunnel To、unix-server-host
  • 401、HTTPS、unix-server-host、/srvcs/method
  • 200、HTTP、Tunnel To、unix-server-host
  • 200、HTTPS、unix-server-host、/srvcs/method

また、AIXサーバーでログファイルを開き、非常に近い時間内に2つのリクエストが来ることを確認しました

  • ソース IP - 認証されていない 22/Aug/2013:14:05:51 -0500 "POST /srvcs/method HTTP/1.0" 401 1244
  • ソース IP - service-uid 22/Aug/2013:14:05:52 -0500 "POST /srvcs/method HTTP/1.0" 200 3473

私のサービス クライアントは、Unix サーバーに対して 2 つの呼び出しを発行します。最初の呼び出しは認証されていません。

資格情報をまったく渡さずに.Netクライアントが最初の呼び出しを生成する理由を誰でも理解していますか?

4

0 に答える 0