【问题标题】:JMeter encoding issue on "application/soap+msbin1"“application/soap+msbin1”上的 JMeter 编码问题
【发布时间】:2017-07-14 13:45:52
【问题描述】:

在 JMeter 上工作并尝试将soap请求发送到服务器并显示以下错误消息。

错误消息:- 无法处理消息,因为内容类型 'application/soap+msbin1' 不是预期的类型 'application/xml; charset=utf-8'。

我们需要帮助将 XML 编码为 'application/soap+msbin1' 格式。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    聚会有点晚了,但我遇到了类似的问题 - 我有一个使用嵌入式二进制 XML (xop:Include cid="...") 的 SOAP 请求模板,我不得不挠头才弄明白如何使用股票 HTTP 请求来做到这一点。

    答案:你不能——不是以简单的方式。为了解决这个问题,我最终定制了 JMeter(我也查看了 HTTPRawRequest,但它似乎不支持 https,我必须重写很多测试脚本才能使用它)。由于 HTTP 请求完成了 99% 的工作,因此支持二进制数据的最快方法是更改​​源代码以处理二进制数据。

    主要问题有两个:JMeter 中的 Function 接口是围绕返回 String 而设计的,而不是 byte[]。所以 __FileToString() (我用来读取外部二进制文件)已经对文件的内容进行了编码。其次,HTTP 请求采样器和 HTTPHC4Impl 本身(不包括“上传文件”位)在将 HTTP 请求的部分发送到网络之前对其进行编码。

    更改意味着 Function、AbstractFunction、CompoundVariable 中的更改,并创建一个新的函数类 FileToStringBinary,它以一种可以在之后解码的方式对二进制数据进行编码(通过对 HTTPHC4Impl 所做的更改)。

    如果我有时间,我会找到发布想法和来源的地方(无法提交给 JMeter,因为我对 HTTPHC4Impl 的更新仅限于处理我需要测试的特定请求,其中嵌入的二进制文件是在多部分/相关部分中,我没有时间或倾向于处理一般情况),但如果您仍然需要帮助才能使其工作,请留言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      相关资源
      最近更新 更多