0

我使用 WCF 构建了一个 Web 服务,并决定将消息安全性(wshttpbinding)与自定义身份验证(我自己的数据库)和 X.509 证书一起使用。我想知道客户端如何使用 SOAP 消息调用 Web 服务以验证和使用我的服务。我想知道我应该在soap header部分添加什么才能调用我的服务,因为我必须从非WCF客户端调用这个webservice。

任何帮助将不胜感激

问候

4

1 回答 1

1

这取决于您要如何使用证书的方式。您可以使用消息或传输安全,其中传输意味着 HTTPS,并且它具有高度互操作性,而消息意味着 WS-Security,您的客户端通常需要使用一些特殊的 API(手动实现 WS-Security 和相关协议是一项艰巨的任务)。所以主要取决于Non-WCF客户端的类型。有许多用于 Java 或 C++ 的 API,还有一些用于 PHP,但我不知道有任何 API 为 Android、iOS 或 Windows Mobile 提供 WS-Security 功能。

用户名和密码也可以在消息中或通过传输标头传输。前一种方法通常通过标准化的用户名令牌配置文件实现,该配置文件仅包含一组预定义的 SOAP 标头(WCF 将为您执行此操作)。这些标头没有什么特别之处,因此即使是没有 WS-Security API 的非 WCF 客户端也应该能够轻松地使用该服务。后一种方法通常通过基本 HTTP 身份验证和 HTTPS 一起实现,它可能是最具互操作性的解决方案(但如果您在 IIS 中托管服务并且不想使用 Windows 帐户进行身份验证,则 WCF 站点可能会遇到一些挑战)。

于 2011-09-12T08:07:18.243 回答