O método getContext () de CustomContextResolver não é chamado por Jackson

Estou lutando com esse problema há dias e não tenho idéia de como resolver isso. Qualquer ajuda rápida será grata. Preciso converter LocalDate da string JSON que estou recebendo da compilação do serviço REST usando o apache CXF e jackson. Escrevi ContextResolver personalizado e registrei JavaTimeModule no objeto Mapper. Quando executo o aplicativo, o construtor padrão é chamado, o que significa que ele foi carregado, mas o método getContext () que retorna o ObjectMapper nunca é chamado.

Registrei o mesmo ContextResolver no servidor e no cliente. Todas as dependências estão em vigor (jackson databind, core, anotation, datatype-jsr310).

Consigo buscar resposta JSON quando pressiono REST URI diretamente no navegador. Problema ocorre quando eu chamo o mesmo método anotado de URI do código do cliente Abaixo está o código do meu cliente.

import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;


@Provider //makes this bean a Provider
public class LocalDateObjectMapperContextResolver implements ContextResolver<ObjectMapper>{

    private final ObjectMapper MAPPER;

    public LocalDateObjectMapperContextResolver() {
        MAPPER = new ObjectMapper();
        MAPPER.registerModule(new JavaTimeModule());
        MAPPER.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
    }

    @Override
    public ObjectMapper getContext(Class<?> type) {
        return MAPPER;
    }

}
<jaxrs:client id="testclient"
    serviceClass="package1.RESTService"
    username="abc"
    password="abc"
    address="$serviceURL">

    <jaxrs:features>
        <bean class="org.apache.cxf.transport.common.gzip.GZIPFeature"/>
        <cxf:logging/>
    </jaxrs:features>

    <jaxrs:providers>
        <bean class="org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider"/>
        <bean class="mypackage.LocalDateObjectMapperContextResolver"/>
    </jaxrs:providers>

</jaxrs:client>

Da mesma forma, Este contextResolver está registrado no lado do servidor também em

<jaxrs:server>
.....
 <jaxrs:providers>
    <bean class="org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider"/>
            <bean class="mypackage.LocalDateObjectMapperContextResolver"/>
  </jaxrs:providers>
</jaxrs:server>

Qualquer motivo para o getContext não ser chamado?

Também tentei estender o ObjectMapper e registrar o javaTimeModule lá, mas não sei como registrar o customObjectMapper no fluxo de Jackson. Acabei de colocar o construtor padrão para teste, e ele é chamado durante a inicialização do aplicativo, mas, novamente, Sem resultados, ainda recebo o mesmo erro.

Erro: nenhum construtor adequado encontrado para o tipo [tipo simples, classe java.time.LocalDate]: não é possível instanciar a partir do objeto JSON (é necessário adicionar / ativar informações de tipo?)

questionAnswers(2)

yourAnswerToTheQuestion