当前位置: 首页 > 知识库问答 >
问题:

具有POJO数据格式的Apache camel cxf

朱自明
2023-03-14

我有以下路线:

<route>
  <from uri="cxf:bean:MyBean" />
  <process ref="myProcessor" />
</route>

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

我找不到任何信息,为什么我的原始SOAP消息被修改(整个主体部分被删除,并转换为POJO)。在我的情况下是否可以获得原始SOAP消息?

谢谢

共有1个答案

仲孙善
2023-03-14

<代码>组织。阿帕奇。cxf。拦截器。LoggingInInterceptor是如何提取原始SOAP内容和属性的一个很好的示例。请参阅github。com获取源代码。

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

ByteArrayOutputStream baos = new ByteArrayOutputStream();
IOUtils.copy(bos.getInputStream(), baos);
message.getExchange().put("OriginalSoap", baos.toByteArray());

下面是如何从org检索存储的SOAP内容。阿帕奇。骆驼交易所:

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

 类似资料:
  • 我有两个数据格式不同但值相同的表。 表一: 表二: 表1和表2之间的关系是多对一。此表的值与上面的日期格式相同。我现在的任务是映射这些表。我如何在ERD图中显示这些。我必须创建一个新表吗?

  • 问题内容: 因此,可以说JSON响应为: 当您必须首先访问数据时,如何获得值“ value1”和“ value2”? 如果字段位于根目录,那么我可以让该方法返回带有这些字段名称的POJO。 我基本上希望下面的工作。 问题答案: 您可以尝试以下代码,使用Gson库将json字符串转换为具有必填字段的Pojo对象。 或者,您可以定义嵌套的Pojo类来解析它。 编辑:尝试下面的代码以使用Retrofit

  • 我对Spark SQL很陌生。在执行一项培训任务时,我遇到了以下问题,无法找到答案(以下所有示例都有点愚蠢,但出于演示目的,应该仍然可以)。 我的应用程序读取拼花文件并根据其内容创建数据集: 数据集。show()调用结果: 然后,我将数据集转换为一个新的数据集,其中包含Person类型: 哪里 最后,当我显示数据集的内容时,我希望看到 然而,我明白了 这是toString()方法的结果,而标头是正

  • 如果我有一个浮点数据帧,我可以使用pd自定义显示。选项。陈列float\u格式,如本回答中所述。例如: 这将给我预期的结果: 另一方面,如果我在数据帧包含复杂浮点数时尝试相同的方法,这将不起作用: 生产: 我在相关文档中没有看到任何关于复数的具体提及,以及{:,.2f}。格式(np.complex(1.12345 1j*.8746234))正确地截断了复数的实部和虚部,那么为什么这不起作用呢?

  • 用具有一致性且对用户友好的方式展示如日期时间这样的数据. 确保呈现的信息是简洁的, 避免不必要的冗余. 日期与时间 此指南适用于: 当前日期与时间 日期与时间设置, 例如闹钟或提醒 当一个对象被创建, 发送, 编辑或其他操作行为发生时的时间和日期 基本显示 关于时间, 使用大写的 AM 或 PM 区分时段, 用空格与时间分隔开. 10:00 AM 如果时间戳正好是当日, 也通常不要要显示例如 “今

  • v-charts 提供对数据格式的设置的能力,一个常见的设置数据格式的方式如下所示: <template> <ve-line :data="chartData" :settings="chartSettings"></ve-line> </template> <script> export default { data () { this.chartSettings = { metr