1

我们有使用 .NET 开发的 Web 服务,有些服务使用basicHttpBinding,有些使用wsHttpBinding

通过使用空手道框架,使用basicHttpBinding的服务可以正常执行,但不能正常执行wsHttpBinding 。获取响应代码415

通过在 SoapUI 端执行以下操作,使用wsHttpBinding的相同服务可以在另一个工具(如 SoapUI)中正常执行。

  • 检查启用 WS-A 寻址
  • 检查添加默认 wsa:Action
  • 检查添加默认 wsa:To

basicHttpbinding 服务的内容类型是'text/xml'但 wsHttpbinding 服务是'application/soap+xml'

是否有任何解决方案可以使用空手道框架使其工作。

4

1 回答 1

0

是的,有一个简单的解决方案,不要使用* soap action 'foo'语法,只需使用* method post. 然后,您可以完全灵活地按照您想要的方式塑造请求。

特别是如果您有 Postman 或 SoapUI 工作,只需查看请求日志,您应该需要五分钟来创建一个空手道等效项。希望有帮助!

可以将* soap action 'foo'其视为一种便利,它可以做 2 件额外的事情:

  • 设置Content-Typeapplication/xml
  • 将 HTTP 方法设置为POST

其他一切都是“正常”的空手道,在这种情况下,您只需要确保 XML 有效负载包含额外的wsa:Actionwsa:To元素。

于 2017-10-26T21:44:06.427 回答