2016-09-14 57 views
2

我正在嘗試編寫一個cxf攔截器,它將所有傳入的請求從我的應用轉發到另一個應用。但是,對於POST請求,我無法獲得請求的正文。從cxf消息獲取HTTP請求正文

的代碼我使用看起來像:

String body = message.getContent(String.class); 

但是機身自帶爲空。我看着cxf代碼&它看起來像你必須指定確切的類(Ex:ArrayList)來獲取正文。我的應用程序有多個這樣的消息類。我想知道是否有一種方法可以避免爲我的每個POJO類&編寫多個檢查,在一個if中執行。

+1

做message.getContent(InputStream.class),使用CXF IOUtils讀入字符串。請參閱http://www.javatips.net/blog/cxf-interceptor-example –

回答

2

你可以稱之爲message.getContent(InputStream.class),並使用CXF IOUtils讀入字符串。請參閱javatips.net/blog/cxf-interceptor-example以獲取更多詳細信息

+1

最重要的一段代碼是Phase.RECEIVE,因爲它可以確保正文存在於InputStream中 –

0

嘗試:

XMLStreamReader body = message.getContent(XMLStreamReader.class);