WCF- Webサービスの消費(HTTPS/SSL/MTOM/ユーザー/パスワード) - クライアントを構成する方法は?
-
27-10-2019 - |
質問
次の要件を持つWebサービスを使用する必要があります。
- https/ssl
- mtom
- ユーザー/パスワードはソープヘッダーで指定する必要があります
- ペイロードとしてのバイナリファイル1(おそらく大規模)
私はこのウェブサービスを制御せず、それを消費する必要があります。私はWCFに慣れていないので、いくつかの基本的なものについて助けが必要です。私の質問は次のとおりです。
- vs2010でサービスリファレンスを追加すると、構成にbasichttpbindingが表示されます。私はwshttpbindingを使用しなければならないと思います、私は正しいですか?どこ/どのように変更/構成するのですか?構成に直接?
- SOAPヘッダーでユーザー/パスワードを指定するようにクライアントを構成するにはどうすればよいですか?
- バイナリファイルを「添付」するにはどうすればよいですか?
ありがとう
解決
サービスリファレンスを追加すると、エラー、警告、または構成ファイルにコメントされたセクションが表示されない場合、既に必要なものがあります。取得したコードを使用するだけです。参照はクライアントプロキシを作成し、これにはバイナリデータをサーバーに渡すために必要な方法があります。プロキシは、クライアントの資格情報を設定することもできます。
var proxy = new ServiceContractNameClient();
proxy.ClientCredentials.UserName.Name = "userName";
proxy.ClientCredentials.UserName.Password = "pwd";
var result = proxy.SendSomeVeryLargeData(new SomeDataContract() { Data = yourData });
Basichttpbindingは、SOAPヘッダーとMTOMエンコーディングの両方の資格情報をサポートしています。
他のヒント
通常、Webサービスを消費するときは、バインディングを変更する必要はありません。
クライアントの資格情報を指定する必要がある場合があります。
Service1Client service = new Service1Client();
service.ClientCredentials.UserName.UserName = "user";
service.ClientCredentials.UserName.Password = "pass";
見る これ 論文。
WCFでMTOMクライアントを構成する方法に関する良い記事を見つけました。これは非常に基本的なチュートリアルです。私はそれが役立つことを願っています。
http://mstecharchitect.blogspot.com/2009/01/wcf-with-mtom-message-encoding.html
所属していません StackOverflow