使用.Net 3.5和VS 2008使用安全的WSE2.0 / .Net 1.1 WebService

时间:2010-08-31 09:21:29

标签: .net wcf web-services security wse

请原谅这个问题的任何错误。我对安全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我不知道在哪里添加它们。

1 个答案:

答案 0 :(得分:1)

如果要为客户端使用WCF,则必须使用“添加服务引用”。如果使用添加Web引用,则仅适用于ASMX服务。我想VS 2008中不支持WSE扩展,因此您无法从UI创建WSE代理,但如果您安装它们,您将拥有一些命令行工具,您仍然可以在.NET 3.5项目中使用它。

如果您需要讨论WSE服务的等效WCF绑定,则必须提供更多信息 - 应该有一些配置(在代码或配置中)为WSE服务设置一些策略。

您还可以查看与WCF相关的这两篇文章< - > WSE 3.0互操作性:Migrating WSE 3.0Interoperability with WSE 3.0