15

無料のWebサービスを使用する単純なWinFormsアプリを作成しましたhttp://www.webservicemart.com/uszip.asmx。しかし、このアプリはエラーでサービス操作を使用できません:

リモートサーバーが予期しない応答を返しました:(407)プロキシ認証が必要です(ISAサーバーは要求を満たすために承認を必要とします。Webプロキシサービスへのアクセスは拒否されます)

プロキシを作成し、サービス操作をトリガーするコード:

ChannelFactory<ServiceReference1.USZipSoap> proxy = new ChannelFactory<ServiceReference1.USZipSoap>("USZipSoap");
ServiceReference1.USZipSoap client = proxy.CreateChannel();
string str = client.ValidateZip("12345");
MessageBox.Show(str);

これは私の会社のネットワークに問題がありますか、それともwebservicemart.com側のプロキシですか?

構成ファイルの変更、カスタムバインディングの作成などについて多くの情報をグーグルで検索しましたが、基本的な理解が不足していると感じています...
このエラーが企業ネットワークのISAサーバーに関するものである場合、どの構成を行う必要がありますかISA Serverは、外部Webサービスの使用を制限しませんか?

4

5 に答える 5

43

バインディング構成useDefaultWebProxyで true に設定されていることを確認してください - IE で見つけた構成が使用されます。構成ファイルに次のスニペットを追加して、デフォルトの資格情報がプロキシ サーバーでの認証に使用されるようにします。

<system.net>
  <defaultProxy useDefaultCredentials="true" />
</system.net>
于 2012-01-04T13:45:20.063 に答える
2

これは私にとってはうまくいきました... 10.1.0.50 とポート番号をプロキシサーバーの IP に置き換えます

  <system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy usesystemdefault="False" proxyaddress="http://10.1.0.50:8080" bypassonlocal="True" />
    </defaultProxy>
  </system.net>
于 2013-03-15T10:25:54.700 に答える
1

社内のすべてのトラフィックがプロキシ経由でリダイレクトされているようです。IE から Web サービスを参照して、その wsdl を確認し、テスト ページを呼び出して結果を確認できますか。その場合は、以下のセクションを web.config に追加してみてください。

<system.net>   
<defaultProxy>     
<proxy proxyaddress="<your proxy address>" bypassonlocal="true" />
</defaultProxy>
</system.net> 

IE の設定からプロキシ アドレスを見つけることができます。

注: 別の環境に移動する場合は、同じケースであることを確認する必要があります。それ以外の場合は、上記の構成を削除する必要があります。

于 2012-01-04T10:20:39.167 に答える
0

サービスの web.config を設定して、Internet Explorer で定義されているプロキシ設定を使用できるようにすることができます。

于 2013-08-26T10:01:33.003 に答える