This module adds support for encoding and decoding XML via JAXB.
Add JAXBEncoder
and/or JAXBDecoder
to your Feign.Builder
like so:
JAXBContextFactory jaxbFactory = new JAXBContextFactory.Builder()
.withMarshallerJAXBEncoding("UTF-8")
.withMarshallerSchemaLocation("http://apihost http://apihost/schema.xsd")
.build();
Response response = Feign.builder()
.encoder(new JAXBEncoder(jaxbFactory))
.decoder(new JAXBDecoder(jaxbFactory))
.target(Response.class, "https://apihost");
JAXBDecoder
can also be created with a builder to allow overriding some default parser options:
JAXBDecoder jaxbDecoder = new JAXBDecoder.Builder()
.withJAXBContextFactory(jaxbFactory)
.withNamespaceAware(false) // true by default
.build();
The feign library is available from Maven Central.
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-jaxb</artifactId>
<version>??feing-jaxb-version??</version>
</dependency>