2017-07-14 63 views
0

在JMeter上工作並嘗試將soap請求發送到服務器並顯示下面的錯誤消息。「application/soap + msbin1」上的JMeter編碼問題

錯誤信息: - 由於內容類型'application/soap + msbin1'不是預期類型'application/xml;字符集= UTF-8' 。

我們需要幫助將XML編碼爲'application/soap + msbin1'格式。

回答

0

晚了一點,但我遇到了類似的問題 - 我有一個使用嵌入式二進制XML(xop:Include cid =「...」)的SOAP請求模板,並且不得不撓撓我的頭瞭解如何使用股票HTTP請求來做到這一點。

答案:你不能 - 不是以一種簡單的方式。爲了解決這個問題,我最終定製了JMeter(我也查看了HTTPRawRequest,但它似乎並不支持https,我將不得不重寫很多測試腳本才能使用它)。由於HTTP請求執行99%的作業,因此支持二進制數據的最快方法是更改​​源代碼以處理二進制數據。

主要問題是兩個:JMeter中的Function接口是圍繞返回String設計的,而不是byte []。所以已經__FileToString()(我用來讀取外部二進制文件來使用)編碼文件的內容。其次,HTTP請求採樣器和HTTPHC4Impl本身(不包括「上傳文件」位)在將HTTP請求發送到線路之前對HTTP請求的各個部分進行編碼。

更改Function,AbstractFunction,CompoundVariable中的隱含更改並創建一個新的函數類FileToStringBinary,該函數以一種可以在對HTTPHC4Impl進行更改後解碼的方式編碼二進制數據。

如果我有時間,我會找到某個地方發佈想法和源代碼(無法提交給JMeter,因爲我對HTTPHC4Impl的更新僅限於處理需要測試的特定請求,其中嵌入的二進制文件是多部分/相關部分,我沒有時間或傾向於處理一般情況),但如果您仍需要幫助才能使其工作,請刪除一行。