0

第一次发帖,所以如果我违反任何发帖规则,请对我放轻松——我已经阅读了它们,我认为我是对的。

在发布之前我已经搜索了一段时间,似乎找不到关于我正在尝试做什么的指南,所以我想我会在这里发布。

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

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

我的第二次尝试是使用服务参考(我相信,但我可能错了哈哈,是 WCF)但是我没有太多的实践,我在网上找到的任何教程都没有太大帮助。

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

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

谢谢。

4

1 回答 1

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 实际上是多么有缺陷)。

于 2011-09-30T07:48:57.357 回答