2010-08-31 74 views
0

请原谅此问题中的任何错误。我不太熟悉安全的Web服务或WCF。使用.Net 3.5和VS 2008使用安全的WSE2.0/.Net 1.1 WebService

我需要使用一个使用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

如果你想为你的客户端使用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相关的两篇文章。

相关问题