1. 程式人生 > >soapUI傳送post請求json格式,返回請求資料為空

soapUI傳送post請求json格式,返回請求資料為空

使用soupUI傳送post請求,活的結果告訴請求引數為空,意思就是沒有請求到body的內容,但是用postman等工具都是正常的。

於是,檢視系統介面日誌。提示獲取http請求的body失敗。


網上查詢第二句話,”java.nio.charset.MalformedInputException: Input length = 1“,意思就是“

會出現java.nio.charset.MalformedInputException異常,原因是“半個中文問題”。分析上面的程式,就是因為CharsetDecoder對ByteBuffer進行解碼的時候,不能保證都可以成功解碼成漢字,也許裡面有“半個漢字“也說不準。說以當有半個漢字的時候就會出現該異常。
 舉個例子,因為在GBK中字母佔1byte,漢字佔2byte。如"我ABC漢字d"這個字串,擷取5個位元組的時候,應該是"我ABC",而擷取8個位元組的時候,應該是"我ABC漢",而不應該是"我ABC漢?",其中"?"為半個漢字,可理解為向前擷取 。所以就會報異常。    (備註:將字元編碼GBK改為UTF-8,則每個中文長度按3個字元計算 )”這部分內容為copy,其實就是我們的請求中帶有中文,所以要編碼格式為UTF-8.很簡單,我們只需要修改Encoding的值為utf-8即可。
再次傳送請求:成功。