0
我試圖充當第三方web服務的代理,並且需要轉換REST請求。我有一個問題,無論我做什麼,Content-Type標題似乎都會被覆蓋。該代碼其實很簡單(上下文是一個@Context MessageContext的 變量):CXF WebClient覆蓋HTTP內容類型
WebClient client = WebClient.create(url)
.header("real-header-removed", "auth-string-removed")
//.header("Content-Type", context.getHttpHeaders().getMediaType().toString());
.type(context.getHttpHeaders().getMediaType());
Response resp = client.get();
return (InputStream)resp.getEntity();
無論是.header也不.TYPE工作。請求的TCPMON輸出是:
Content-Type: */*
real-header-removed: auth-string-removed
Accept: application/xml
User-Agent: Apache CXF 2.3.5
Cache-Control: no-cache
Pragma: no-cache
如何避免內容類型覆蓋(或者說,爲什麼會發生 ?)
好吧,算出來。我需要使用client.invoke(「GET」,「」);對於那些想知道爲什麼我需要這樣做的人,其實我並不想在GET上設置Content-Type,我只是不想要*/*覆蓋。我正在使用的第三方服務會使用Content-Type標題(如果已設置)計算sig。 –