使用WS-Security消费SOAP Web服务

时间:2011-05-02 14:45:42

标签: c# web-services soap digital-signature ws-security

我正在尝试使用使用WS Security(用户名,签名和加密)的Web服务。除了wsdl之外,我没有关于Web服务的任何信息。

使用wsdl.exe,我创建了我的代理类,我也可以调用Web服务方法。它显示错误

  

“消息中没有签名!(来自客户)”

如何在SOAP Web服务调用中添加签名和加密?

2 个答案:

答案 0 :(得分:1)

您应该使用WCF。为什么? ASMX Web服务是旧技术,不支持WS-Security。要将WS-Security添加到ASMX,您必须手动执行(要实现许多非常复杂的规范)或使用WSE。自.NET 3.0以来,ASMX和WSE都被WCF取代,所以除非你必须使用.NET 2.0,否则你的选择应该是WCF。

首先尝试在Visual Studio中使用svcutil.exe或添加服务引用,如果它没有为您创建代理,则将WSDL的安全性部分发布到您的问题中。我们可以尝试帮助您进行配置。

答案 1 :(得分:0)

如果要使用WS-Security,则需要WCF。

WSE是Microsoft的临时“附加”软件包,支持第一版Web服务堆栈上的WS-Security--使用WSDL.exe的版本。我的理解是不再支持WSE。