从 cxf 消息中获取 Http 请求正文

Get Http Request Body from cxf message

我正在尝试编写一个 cxf 拦截器,它将所有来自我的应用程序的传入请求转发到另一个应用程序。但是对于 POST 请求,我无法获取请求的正文。

我使用的代码如下所示:

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

但是正文为空。我查看了 cxf 代码,看起来您必须指定确切的 class(例如:ArrayList)才能获取正文。我的应用有多个这样的消息 classes。我想知道是否有一种方法可以避免为我的每个 POJO class 编写多个检查并在一个 if.

中完成

尝试:

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

您可以调用 message.getContent(InputStream.class) 并使用 CXF IOUtils 读入 String。详情请参考javatips.net/blog/cxf-interceptor-example