通过SoapUI发送POST请求,请求的body是JSON格式的数据:
data={"currentDate":"2015-06-19","reset":true}
而且通过Fiddler抓取页面报文 Content-Type 是 application/x-www-form-urlencoded
一开始我将Content-Type = application/x-www-form-urlencoded 加到Header 里面。
SoapUI里面的 Media Type 选择 application/json,body 的内容填 data={"currentDate":"2015-06-19","reset":true}
应答报文返回的错误代码告诉我是json数据的格式不正确。
后来又尝试了很多办法,将body的内容通过URLEncode进行编码之后再放进去,或者将Media Type从下拉菜单里一个个的试,都不行。
只有将data作为name, {"currentDate":"2015-06-19","reset":true}作为value 以style=QUERY的形势加到报文的Header里面去,才可以正常的返回应答。
但是,这不是正常的解决办法,因为,假使这个 body 的数据很长,全部加到报文头里面,会超出报文头的长度限制。
其实,办法非常简单,从一开始就应该想到,只是被SoapUI的界面设计给误导了。
只需要将 Media Type 手工填成application/x-www-form-urlencoded (下拉列表中没有这个可选),
body的内容直接填 data={"currentDate":"2015-06-19","reset":true} 就可以了。