2012-01-04 41 views
15

無料のWebサービスhttp://www.webservicemart.com/uszip.asmxを使用する単純なWinFormsアプリケーションを作成しました。私の会社のネットワークでこの問題ですか、これは上のプロキシですWCFクライアント - 407 Webサービスの実行中にプロキシ認証が必要

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

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

The remote server returned an unexpected response: (407) Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied)

コード:しかし、このアプリはエラーでサービス操作を使用することができませんwebservicemart.comの側ですか?

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

+1

はい、ローカルネットワークのプロキシに問題があります。バインド設定を表示し、Internet Explorerでプロキシが設定されているかどうかを確認します。 –

+0

私は設定を準備しましたが、コメントのサイズに合わせるには大きすぎましたが、自分の質問に答えることができないという制限がありました。
しかし、とにかく...私は実際にブラウザの設定でプロキシを設定しています。
useDefaultWebProxyをtrueからfalseに変更した後、いくつかの進歩があります。そして、私はEndpointNotFoundExceptionというメッセージを持っています。「http://www.webservicemart.com/uszip.asmxで受信したエンドポイントがありませんでした。これはメッセージを受け入れることができます。 、 詳細については。" –

+0

InnerException型のSystem.Net.WebException型のメッセージ "リモート名を解決できませんでした: 'www.webservicemart.com'" –

答えて

43

バインディング構成では、useDefaultWebProxyがtrueに設定されていることを確認してください。これはIEで見つかった構成を使用します。お使いの設定ファイルでは、あなたの資格情報がプロキシサーバーでの認証に使用されているデフォルトを確保するために、次のコードを追加します。

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

それは動作します!どうもありがとうございました! :) –

+0

これはデフォルトプロキシのプロパティを設定するのと同じではないように見えることは興味深いことです。 –

+0

@VincentHubert何が同じではなく、そこにコメントが掛かっていないかを知ることはさらに面白いです –

1

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

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

注:異なる環境に移動する場合は、上記の構成を削除する必要があるかどうかを確認する必要があります。

+0

お返事ありがとうございます。私はこの問題を解決するためにいくつかの進歩を遂げました。私はuseDefaultWebProxyをtrueからfalseに変更した後、私は私のプロキシ認証に合格したようです。しかし、私はまだメッセージを受け入れることができるhttp://www.webservicemart.com/uszip.asmxを聞いているエンドポイントがないと言っているという例外があります。私はまた別の無料のWebサービスを試して、ちょうど同じエラーを受信しました。 –

+0

私は上記のWebサービスにアクセスしようとしましたが、正常に動作します。もしあなたがちょっとだけ更新を掲載し、あなたを助けてくれるよう助けてくれるよう助けてくれるならば。 – Rajesh

2

これは

プロキシサーバーのIPで10.1.0.50とポート番号を交換する...私のために働きました
<system.net> 
    <defaultProxy useDefaultCredentials="true"> 
     <proxy usesystemdefault="False" proxyaddress="http://10.1.0.50:8080" bypassonlocal="True" /> 
    </defaultProxy> 
    </system.net> 
+0

私は@Ladislav Mrnka answareを使用していますが、それも私のために働いた。 – MFedatto

0

いつか将来

WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials; 
関連する問題