使用标头安全性在C#中使用非asmx SOAP 1.1 Web服务

时间:2011-09-30 05:45:42

标签: c# web-services soap service-reference

第一次发布海报所以如果我违反任何发布规则,请对我有点轻松 - 我已阅读它们,我认为我是对的。

我在发帖前已经搜索了一段时间,似乎无法找到我想要做的指南,所以我想我会在这里发帖。

我需要编写一个C#.NET 3.5程序来使用Java开发的Web服务。我根据自己编写Dynamics CRM插件和软件的经验,使用Web References练习在.NET中使用ASMX Web服务,但这让我很难过。

我的第一次尝试是使用Web引用(是的,我知道 - 不是WCF)但是Web服务需要PasswordDigest(带有nonce并创建的SHA-1),SOAP头中的用户名令牌和时间戳令牌找不到使用Web Reference将这些添加到SOAP标头的方法。

我的第二次尝试是使用服务参考(我相信,但我可能错了哈哈,这个是WCF)但是我没有太多练习这个以及我发现的任何教程在线没什么帮助。

每当我尝试使用WS时,我都会因为无法进行身份验证而拒绝服务器。

我的问题是如何在C#.NET 3.5中使用满足这些要求的Web服务?

感谢。

1 个答案:

答案 0 :(得分:2)

IIRC,Microsoft WSE(2.0或3.0)有一个名为UsernameToken的东西,你需要在传出的SOAP消息中的某个地方填充你所有的东西。当然,这个答案还有很多不足之处,所以我会向你发一些链接,希望你能够通过:

http://www.codeproject.com/KB/webservices/WS-Security.aspx

http://www.reliablesoftware.com/articles/WSESecurity.html

http://www.devx.com/security/Article/15634

(这一切再次显示了SOAP和WSDL实际上有多么缺陷)。

相关问题