请原谅这个问题的任何错误。我对安全Web服务或WCF并不过分熟悉。
我需要使用一个使用WSE 2.0和.Net 1.1的Web服务。
该服务以两种方式得到保障。将X509Certificate和BinarySecurityToken添加到标题中。
我有使用Visual Studio 2003和WSE 2.0时如何使用此Web服务的代码示例。
我的主要问题是我是否应该尝试使用“Web引用”或“服务引用”来使用此Web服务?
我使用二进制Microsoft.Web.Services2的代码示例。我正在寻找允许我执行相同功能的等效类/方法。
我想要替换的两个关键代码行是:
webService.ClientCertificates.Add(X509Certificate.CreateFromFile(fileName));
和
SoapContext context = webService.RequestSoapContext;
context.Security.Tokens.Add(binarySecurityToken);
任何人都可以向我提供一些信息,说明我应该查看哪些课程或任何有助于我进一步理解的有用文章吗?
编辑:除此之外,我正在努力寻找替代方法的方法是:
webService.RequestSoapContext;
我在创建安全令牌时发现了各种替代类/方法,但是没有RequestSoapContext我不知道在哪里添加它们。
答案 0 :(得分:1)
如果要为客户端使用WCF,则必须使用“添加服务引用”。如果使用添加Web引用,则仅适用于ASMX服务。我想VS 2008中不支持WSE扩展,因此您无法从UI创建WSE代理,但如果您安装它们,您将拥有一些命令行工具,您仍然可以在.NET 3.5项目中使用它。
如果您需要讨论WSE服务的等效WCF绑定,则必须提供更多信息 - 应该有一些配置(在代码或配置中)为WSE服务设置一些策略。
您还可以查看与WCF相关的这两篇文章< - > WSE 3.0互操作性:Migrating WSE 3.0,Interoperability with WSE 3.0。