使用Apache CXF设置Soap端点 - 如何将消息作为简单的XML获取?

时间:2015-12-17 19:44:27

标签: xml soap cxf

我正在尝试建立一个简单的SOAP端点,该端点可以接受SOAP请求并将主体作为XML放在camel路由上,而不会将其转换为POJO或进行任何其他转换。我读过的所有内容都表明PAYLOAD会将有效负载作为字符串引入,但它实际上是

org.apache.camel.component.cxf.CxfPayload

是否有一些语法可以简单地将肥皂体作为XML引入骆驼路线?

    from("cxf:?dataFormat=PAYLOAD")
    .to("testBean");
@Handler
public void testThis(Exchange exchange, Message message) {
    System.out.println("here I am");
    String thisBody = message.getBody(String.class);
    System.out.println(thisBody);
}
Error during type conversion from type: 
java.lang.String to the required type: java.lang.String with value    
org.apache.camel.component.cxf.CxfPayload@3138546a 
due java.lang.IllegalStateException: StAXSource(XMLStreamReader) with 
XMLStreamReadernot in XMLStreamConstants.START_DOCUMENT or     
XMLStreamConstants.START_ELEMENT state

请注意,exchange.getIn()。getBody()执行相同的操作 - 引入CfxPayload,我无法转换为没有marshal / unmarshal的字符串。我不希望这与某些对象绑定,我真的只想要XML字符串。 -

我的架构: 嵌入式Tomcat 骆驼2.16 春季4.1.8

0 个答案:

没有答案