我正在尝试建立一个简单的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