Apacheのキャメルを使用してどのように私はCXFエンドポイント経由で来る私の非直列化されたオブジェクトを非整列化しますか?
-
26-09-2019 - |
質問
私は非常に単純なラクダのルートを持っています。これは、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"/>
他のヒント
また、私はCXFは、箱から出してサポートして考えるJAXBデータ・フォーマットを、使用することができます。
私はあなたのモデルが自動生成オブジェクト持っているCXFのWSDL2Javaの使用を持っていると仮定しますか?あなたは@ JAXB注釈
を持っている必要があり、生成されたソースコードを見ることができるようにする場合所属していません StackOverflow