Java ApacheCamel:访问从WebService返回的原始数据(XML)

Java ApacheCamel:访问从WebService返回的原始数据(XML),java,xml,apache-camel,transformation,webservice-client,Java,Xml,Apache Camel,Transformation,Webservice Client,我正在使用ApacheCamel访问Web服务。 我试图将内容注入到从Web服务接收的数据中,以进行测试。 使用getBody(),我只能访问从接收的XML反序列化的Java对象。有人知道我如何在通过Camel反序列化之前访问原始XML吗 这是我的路线结构。如您所见,我创建了一个从BeaneAigateway到我正在查询的真实Web服务(BeanWebService)的代理Web服务 from("cxf:bean:eaigateway") .routeId(ROUTE_ID_GA

我正在使用ApacheCamel访问Web服务。 我试图将内容注入到从Web服务接收的数据中,以进行测试。 使用getBody(),我只能访问从接收的XML反序列化的Java对象。有人知道我如何在通过Camel反序列化之前访问原始XML吗

这是我的路线结构。如您所见,我创建了一个从BeaneAigateway到我正在查询的真实Web服务(BeanWebService)的代理Web服务

from("cxf:bean:eaigateway")
        .routeId(ROUTE_ID_GATEWAY)
             .process(new EnrichBean())
            .to(ENDPOINT_WEBSERVICE)
            .process(new DisenrichBean())
    ;



from(ENDPOINT_WEBSERVICE)
        .routeId(ROUTE_ID_WEBSERVICE)
        .to("cxf:bean:webservice")
    ;


public class DisenrichBean implements Processor {

@Override
public void process(Exchange exchange) throws Exception {

        // This contains the unserialized object returned from the webservice.
        // But how to get and set the original XML content?  
        Object  antwort = ((MessageContentsList)(exchange.getIn().getBody())).get(0);

    }
}

原始信息应可从以下地址获得:

exchange.getUnitOfWork().getOriginalInMessage()
但在您的情况下,似乎需要对象/XML编组。
这里可以找到一些示例:

在CXF配置中将
dataFormat
属性设置为
PAYLOAD