【发布时间】:2011-05-05 10:21:44
【问题描述】:
更新
我有一个使用Transport Security (SSL) 机制保护的 Metro 2.1.1 WebService。我想使用 .NET 3.5+ WCF 客户端访问此服务。我找到了this link,它解决了同样的问题,但是我仍然无法创建一个有效的客户端。我想我在客户端配置中混淆了一些东西。
【问题讨论】:
-
这意味着 Metro 服务的 WSDL 包含一些无法通过可用绑定配置的安全组合。所需的安全配置可能在配置注释中可见,但如果有一些特殊要求,请将您的 WSDL 中的整个安全断言发布到您的问题,以便我们可以尝试找到您需要的绑定配置。
-
@Ladislav Mrnka 感谢您的回复!我在问题中添加了 WSDL。
-
Metro 服务抛出 FaultException。 Metro 服务在 WCF ClientBase 类创建的soap 消息中寻找特定的标头。如果您有权访问调用此 Metro 服务的工作客户端,则可以使用诸如 Charles 或 Fiddler 之类的工具(侦听 SSL 流量有点棘手,但可以做到)来捕获工作客户端发送的肥皂消息,然后将其与 WCF 生成的肥皂进行比较。
-
@Sixto Saez 我做了一个 Java 客户端,可以成功调用上述 web 服务。我试图捕获 HTTPS 流量,但 web 服务调用只是在后台发生,因此 Fiddler 中没有显示任何内容。如果我打开一个受 HTTPS 保护的页面,我只能捕获 HTTPS。
-
下面的链接可能有助于设置 Fiddler。如果这不起作用,您可以尝试查看商业 Charles 产品。另一个想法,java客户端和服务是否有一个配置选项来记录发送和接收的soap消息?这可能比尝试 Fiddler 更容易。链接:fiddlertool.com/fiddler/help/httpsdecryption.asp
标签: java .net wcf web-services ssl