[英]Using Apache Camel how do I unmarshal my deserialized object that comes in through a CXF Endpoint?
我有一个非常简单的骆驼路线。 它以作为Web服务公开的CXF端点开始。 然后我想将它转换为xml并在bean上调用一个方法。
目前我正在获取Web服务调用后的CXF特定对象。 如何将序列化对象从CXF MessageList中取出并继续使用?
我的路线:
<camel:route>
<camel:from uri="cxf:bean:helloEndpoint" />
<camel:marshal ref="xstream-utf8" />
<camel:to uri="bean:hello?method=hello"/>
</camel:route>
XML序列化消息:
<?xml version='1.0' encoding='UTF-8'?>
<org.apache.cxf.message.MessageContentsList serialization="custom">
<unserializable-parents />
<list>
<default>
<size>1</size>
</default>
<int>6</int>
<com.whatever.Person>
<firstName>Joe</firstName>
<middleName></middleName>
<lastName>Buddah</lastName>
<dateOfBirth>2010-04-13 12:09:00.137 CDT</dateOfBirth>
</com.whatever.Person>
</list>
</org.apache.cxf.message.MessageContentsList>
我希望XML更像这样:
<com.whatever.Person>
<firstName>Joe</firstName>
<middleName></middleName>
<lastName>Buddah</lastName>
<dateOfBirth>2010-04-13 12:09:00.137 CDT</dateOfBirth>
</com.whatever.Person>
我找到了。 我只是不得不使用它。
<camel:convertBodyTo type="com.whatever.Person"/>
您也可以使用JAXB数据格式,我认为CXF支持开箱即用。
我假设您已经使用CXF wsdl2java自动生成模型对象? 如果是这样,您可以查看应该具有@JAXB注释的生成的源代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.