请原谅这个问题中的任何错误。我不太熟悉安全的web服务或WCF。
我需要使用一个使用WSE2.0和.Net 1.1的web服务。
该服务通过两种方式进行保护。添加到报头的X509Certificate和BinarySecurityToken。
我有关于在使用Visual Studio2003和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,我不知道在哪里添加它们。
发布于 2010-08-31 17:32:33
如果你想为你的客户端使用WCF,你必须使用添加服务引用。如果使用“添加web引用”,则仅适用于ASMX服务。我猜VS2008不支持WSE扩展,所以你不能从UI创建WSE代理,但是如果你安装了它们,你会有一些命令行工具,你仍然可以在.NET 3.5项目中使用它。
如果您需要讨论WSE服务等效WCF绑定,则必须提供更多信息-应该有一些配置(在代码或配置中),为WSE服务设置一些策略。
您还可以查看以下两篇与WCF3.0互操作性相关的文章:Migrating WSE 3.0、Interoperability with WSE 3.0。
https://stackoverflow.com/questions/3607662
复制相似问题