Karate 使用空手道框架的WSHttpBinding问题

Karate 使用空手道框架的WSHttpBinding问题,karate,wshttpbinding,Karate,Wshttpbinding,我们有使用.NET开发的web服务,一些服务使用basicHttpBinding,还有一些使用wsHttpBinding 通过使用空手道框架,使用basicHttpBinding的服务可以很好地执行,但不能wsHttpBinding。获取响应代码415 通过在SoapUI端执行以下操作,使用wsHttpBinding的相同服务在另一个工具(如SoapUI)中得到了良好的执行 选中启用WS-A寻址 选中添加默认wsa:Action 选中“将默认wsa:添加到” basicHttpbinding

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

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

通过在SoapUI端执行以下操作,使用wsHttpBinding的相同服务在另一个工具(如SoapUI)中得到了良好的执行

  • 选中启用WS-A寻址
  • 选中添加默认wsa:Action
  • 选中“将默认wsa:添加到”
basicHttpbinding服务的内容类型为“text/xml”,而wsHttpbinding服务的内容类型为“application/soap+xml”


是否有任何解决方案可以使用空手道框架使其正常工作?是的,有一个简单的解决方案,不要使用
*soap操作“foo”
语法,只需使用
*方法post
。然后,您就可以完全灵活地按照您想要的方式来设计请求

特别是如果你有邮递员或SoapUI在工作,只要看看请求日志,你就需要五分钟来创建一个空手道等价物。希望有帮助

*soap操作“foo”
视为一种方便,可以做两件额外的事情:

  • 内容类型设置为
    应用程序/xml
  • 将HTTP方法设置为
    POST

其他一切都是“普通”空手道,在这种情况下,您只需要确保XML负载包含额外的
wsa:Action
wsa:to
元素。

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

特别是如果你有邮递员或SoapUI在工作,只要看看请求日志,你就需要五分钟来创建一个空手道等价物。希望有帮助

*soap操作“foo”
视为一种方便,可以做两件额外的事情:

  • 内容类型设置为
    应用程序/xml
  • 将HTTP方法设置为
    POST
其他一切都是“普通”空手道,在本例中,您只需要确保XML负载包含额外的
wsa:Action
wsa:to
元素