首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache camel-cxf与POJO dataFormat

Apache camel-cxf与POJO dataFormat
EN

Stack Overflow用户
提问于 2014-07-14 14:22:53
回答 1查看 1.3K关注 0票数 2

我有以下路线:

代码语言:javascript
复制
<route>
  <from uri="cxf:bean:MyBean" />
  <process ref="myProcessor" />
</route>

我需要处理SOAP消息,但在每次调用开始时,我必须将原始SOAP消息保存到数据库中(整个信封包含头部和正文)。如您所见,我想在POJO dataFormat中使用cxf。

我找不到任何信息为什么我的原始SOAP消息被修改(整个正文部分被删除,并转换为POJO)。在我的例子中可以得到原始的SOAP消息吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-06-28 15:47:11

org.apache.cxf.interceptor.LoggingInInterceptor是如何提取原始SOAP内容和属性的一个很好的例子。有关源代码,请参阅github.com

以下是如何在CXF消息中存储SOAP内容示例(bos是来自LoggingInInterceptor源代码的CachedOutputStream ):

代码语言:javascript
复制
ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtils.copy(bos.getInputStream(), baos);
message.getExchange().put("OriginalSoap", baos.toByteArray());

下面是如何从org.apache.camel.Exchange检索存储的SOAP内容:

代码语言:javascript
复制
byte[] content = (byte[])exchange.getIn()
        .getHeader(CxfConstants.CAMEL_CXF_MESSAGE, org.apache.cxf.message.Message.class)
        .getExchange()
        .get("OriginalPayload");

基于http://camel.465427.n5.nabble.com/Getting-entire-Soap-Message-with-header-and-body-in-Payload-mode-td5753162.html解决方案的内容存储和检索

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24730561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档