[英]How to fix Invalid Content-Type:text/html in SOAP client using Java
[英]How to test the response content-type using SOAP UI
我是這個SOAP UI的新手。 我要求測試響應主體是否為空。
你能告訴我如何解決嗎?
我的想法是使用斷言腳本檢查響應的content-length
,但不適用於equals()
。
contains()
正在工作,但不equals
:
// works:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).contains("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).equals("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]) == 0
請幫我解決問題。
在您的代碼中:
// works:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).contains("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).equals("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]) == 0
表達式messageExchange.responseHeaders["Content-Length"]
返回StringList
[請參閱此處的文檔] ,它是ArrayList<String>
。
它的內容就像是幾個Strings
,例如( "abc"
, "def"
, "ghi"
)。
contains("0")
: 這樣,當您調用list.contains("abc")
,您正在詢問"abc"
是否為列表的元素之一。 您的Content-Length
標頭可能是一個包含一個元素的列表,例如( "0"
)。 這就是為什么list.contains("0")
返回true
原因,因為String
"0"
是列表中的元素之一。
equals("0")
: 因此,當您調用: list.equals(something)
,僅當作為參數傳遞的something
也是String
列表時,它才會返回true
。 "0"
不是String
的列表,而只是一個。
== 0
: 同樣,當您調用list == 0
您正在測試list
是否為整數0
,而不是整數。
messageExchange.responseHeaders["Content-Length"] == 0
應該不起作用,因為。 messageExchange.responseHeaders["Content-Length"]
返回一個List
的String
S,比所述整數不同 0
。
messageExchange.getResponse().getContentLength() == 0
起作用是因為messageExchange.getResponse().getContentLength()
返回Content-Length
標頭作為一個long
整數值。
messageExchange.getResponse().getContentLength()
與獲取列表的第一個值並將其轉換為long
。 看一下它是如何工作的: Long.valueOf(messageExchange.responseHeaders["Content-Length"].get(0)) == 0
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.