0

我需要使用具有以下要求的 Web 服务:

  • https/ssl
  • MTOM
  • 需要在 SOAP 标头中指定用户/密码
  • 1 个(可能很大)二进制文件作为有效负载

我不控制此 Web 服务,需要使用它。由于我是 WCF 新手,我需要一些基本知识的帮助。我的问题是:

  1. 当我在 VS2010 中添加服务引用时,我在配置中得到了一个 basichttpbinding。我想我必须使用 wshttpbinding,对吗?我在哪里/如何更改/配置它?直接在配置中?
  2. 如何配置我的客户端以在soap标头中指定用户/密码?
  3. 如何“附加”二进制文件?

谢谢

4

3 回答 3

1

通常,当您使用 Web 服务时,您不需要更改绑定。

您可能需要指定客户端凭据。

   Service1Client service = new Service1Client();
   service.ClientCredentials.UserName.UserName = "user";
   service.ClientCredentials.UserName.Password = "pass";

这篇文章。

于 2011-06-12T19:38:57.307 回答
1

如果您添加服务参考并且在配置文件中没有收到任何错误、警告或任何注释部分,那么您已经拥有了所需的内容。只需使用您获得的代码即可。该参考将为您创建客户端代理,这将具有将二进制数据传递到服务器所需的方法。代理还允许设置客户端凭据:

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 编码中的凭据。

于 2011-06-12T19:41:21.093 回答
0

我找到了一篇关于如何使用 WCF 配置 MTOM 客户端的好文章。这是一个非常基础的教程。我希望它有所帮助。

http://mstecharchitect.blogspot.com/2009/01/wcf-with-mtom-message-encoding.html

于 2011-06-12T18:22:24.943 回答