Verwendung von Apache Camel wie unmarshal ich mein entserialisierten Objekt, das in durch eine CXF Endpoint kommt?

StackOverflow https://stackoverflow.com/questions/2631662

  •  26-09-2019
  •  | 
  •  

Frage

habe ich eine sehr einfache Kamel Route. Es beginnt mit einem CXF Endpoint als Web-Service ausgesetzt. Ich mag dann in XML konvertieren und eine Methode für eine Bohne nennen.

Zur Zeit ein CXF spezifisch ich erhalte Objekt nach dem Web-Service-Aufruf. Wie kann ich meine serialisierte Objekt aus dem CXF Message und verwenden Sie es vorwärts geht?

Meine Route:

<camel:route>
   <camel:from uri="cxf:bean:helloEndpoint" />
   <camel:marshal ref="xstream-utf8" />
   <camel:to uri="bean:hello?method=hello"/>
</camel:route>

Die XML-serialisierten Nachricht:

<?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>

Ich würde die XML erwartet mehr so ??sein:

<com.whatever.Person>
   <firstName>Joe</firstName>
   <middleName></middleName>
   <lastName>Buddah</lastName>
   <dateOfBirth>2010-04-13 12:09:00.137 CDT</dateOfBirth>
</com.whatever.Person>
War es hilfreich?

Lösung

fand ich es. Ich dies nur hatte zu verwenden.

<camel:convertBodyTo type="com.whatever.Person"/>

Andere Tipps

Sie können auch JAXB Datenformat verwenden, die ich denke, CXF der Box unterstützt werden.

Ich nehme an, Sie verwenden CXF wsdl2java haben das Modell haben Objekte automatisch generiert? Wenn dem so ist man an der generierten Quellcode aussehen kann, die haben sollte @ JAXB Anmerkungen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top