我正在尝试使用使用WS Security(用户名,签名和加密)的Web服务。除了wsdl之外,我没有关于Web服务的任何信息。
使用wsdl.exe,我创建了我的代理类,我也可以调用Web服务方法。它显示错误
“消息中没有签名!(来自客户)”
如何在SOAP Web服务调用中添加签名和加密?
答案 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。