2017-08-28 94 views
0

正在編寫基於CXF的Web服務。我需要傳遞日期響應頭爲本地服務器時間,但這是被退回爲GMT,如下面顯示肥皂響應標題中的日期

HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5 
Date: Mon, 28 Aug 2017 06:47:51 GMT 
Content-Type: text/xml;charset=UTF-8 
Content-Length: 436 

但是,如果我設定的值作爲日期1頭

HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5 
Date1: Mon Aug 28 12:38:47 IST 2017 
Content-Type: text/xml;charset=UTF-8 
Content-Length: 436 
Date: Mon, 28 Aug 2017 07:08:47 GMT 

無法我們可以在這裏覆蓋日期,如果是的話,有人能幫我解決這個問題嗎?

回答

0

如果要在發送消息之前編輯http標頭,則可以創建攔截器,將其添加到傳出攔截器並在此處執行。

public class HttpHeaderInterceptor extends AbstractPhaseInterceptor<Message>{ 

public HttpHeaderInterceptor() { 
super(Phase.POST_LOGICAL); 
} 

public void handleMessage(Message message) { 
Map<String, List<String>> headers = new HashMap<String, List<String>>(); 
headers.put("xxx", "yyyy"); 
message.put(Message.PROTOCOL_HEADERS, headers); 
} 

} 
+0

它對您有幫助嗎?標記爲答案,如果它確實請:) –