【问题标题】:Get Http Request Body from cxf message从 cxf 消息中获取 Http 请求正文
【发布时间】:2017-01-22 01:11:21
【问题描述】:

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

我使用的代码如下:

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

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

【问题讨论】:

标签: java web-services cxf interceptor


【解决方案1】:

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

【讨论】:

  • 最重要的一段代码是 Phase.RECEIVE,因为它确保正文存在于 InputStream 中
【解决方案2】:

尝试:

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

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 2015-07-10
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 2019-12-11
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多