Jackson in Apache TomEE 7.0 im CXF-RS-Webclient und JAX-RS-Client verwenden
Dieser Artikel stammt aus meinen früheren Wordpress-Instanzen und steht hier aus Gründen der Nostalgie.
Beim Versuch den JSON-Provider Jackson zum Deserialisieren im CXF-Rest-Client bzw. dem JAX-RS-Client-API in TomEE 7 zu verwenden, kommt es zu der Situation, dass Apache Johnzon gezogen wird, egal was in TomEE konfiguriert wird.
Ich hatte die Frage auf Stackoverflow gestellt und als Antwort erhalten, dass Jackson sich als Provider für */* registriert, Johnzon für application/json und die Wahl des Providers einen Best-Match-Algorithmus verwendet.
Die Lösung besteht darin, Jackson zu erweitern und entsprechend zu annotieren:
<td>
<div class="text codecolorer">
@Produces(MediaType.APPLICATION_JSON)<br /> @Consumes(MediaType.APPLICATION_JSON)<br /> public class NarrowJacksonJaxbJsonProvider<br /> extends com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider {}
</div>
</td>
</tr>