使用JMeter并尝试将soap请求发送到服务器并显示以下错误信息。
错误消息: - 无法处理消息,因为内容类型' application / soap + msbin1'不是预期的类型&application; / xml;字符集= UTF-8'
我们需要帮助将XML编码为' application / soap + msbin1'格式。
答案 0 :(得分:0)
答案:你不能 - 不是一个简单的方法。为了解决这个问题,我最终定制了JMeter(我也查看了HTTPRawRequest,但它似乎不支持https,我将不得不重写很多测试脚本来使用它)。由于HTTP请求完成99%的工作,支持二进制数据的最快方法是更改源代码以处理二进制数据。
主要问题是两个:JMeter中的Function接口是围绕返回String而不是byte []设计的。所以__FileToString()(我曾经读过一个外部二进制文件)已经对文件内容进行了编码。其次,HTTP请求采样器和HTTPHC4Impl本身(不包括“上载文件”位)在将HTTP请求发送到线路之前对其进行编码。
更改Function,AbstractFunction,CompoundVariable中隐含的更改,并创建一个新的函数类FileToStringBinary,它以一种可以解码的方式对二进制数据进行编码(通过对HTTPHC4Impl进行的更改)。
如果我有时间,我会在哪里找到发布想法和来源的地方(无法提交给JMeter,因为我对HTTPHC4Impl的更新仅限于处理我需要测试的特定请求,其中嵌入式二进制文件是在多部分/相关部分,我没有时间或倾向于处理一般情况),但如果你仍然需要帮助使其工作,请删除一行。