2017-02-27 42 views
3

我有一个WCF服务,我试图将它与SOAP UI PRO结合使用。在第一次执行时,我得到以下响应:SOAP UI/SOAP UI中的内容类型应用程序/ soap + msbin1 PRO

HTTP/1.1 415由于内容类型'application/soap + xml; charset = UTF-8',无法处理消息。不是期望的类型'application/soap + msbin1'。

我发现我应该补充的的Content-Type首部和我这样做(即内容类型的应用程序/肥皂+ msbin1)。但是,错误现在演变为:

HTTP/1.1 400错误的请求

我得知二进制编码在SOAP UI不支持/ SOAP UI PRO/READY API,和我在这个发现之后,这种感觉有点卡住了。

我想知道是否有解决此问题的解决方法。因此,是否有人设法使用groovy脚本,插件,库或其他不同的东西来在SOAP UI PRO中集成二进制编码。

任何帮助,非常感谢。

+0

如果您使用Chorme的扩展名'POSTMAN'尝试相同,结果如何? – Rao

+0

@Rao - 同样的事情... –

+0

希望你发送正确的请求。 – Rao

回答

2

应用程序/ soap + msbin1是WCF的二进制编码。您使用文本编码发送请求。这就是服务器端给出的原因:不良请求

据我所知,SoapUI不支持application/soap + msbin1编码,也没有插件可用。

如果你需要测试用了SoapUI的服务,你有两个选择:

  1. 更改服务(服务器端)结合(在web.config中通过配置)文本编码。请注意,服务可以有多个绑定,您可以使用文本编码测试绑定,而WCF客户端可以使用二进制(application/soap + msbin1)编码。无论如何,文本编码都需要实现与非WCF客户端(如SoapUI)的互操作性。你可以检查Microsoft documentation了解更多。

  2. 将您的soap请求编码为二进制数据,并将其作为HTTP PUT请求发送。当然你也需要解码服务响应来理解它。这可能是一次性测试的一种方式,否则太麻烦了。您可以使用Groovy脚本即时执行二进制编码/解码,以防需要进行多次测试,但需要进行一些编程。

我绝对推荐第一个选项。

Karel

相关问题