2011-07-28 62 views
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 

如何避免內容類型覆蓋(或者說,爲什麼會發生 ?)

+0

好吧,算出來。我需要使用client.invoke(「GET」,「」);對於那些想知道爲什麼我需要這樣做的人,其實我並不想在GET上設置Content-Type,我只是不想要*/*覆蓋。我正在使用的第三方服務會使用Content-Type標題(如果已設置)計算sig。 –

回答

0

我需要使用client.invoke(「GET」 ,「」);