0

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

4

1 回答 1

1

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

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

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

于 2010-08-31T09:32:33.190 回答