Маршалинг Джексона SoapFaultClientException не удается - PullRequest
0 голосов
/ 22 сентября 2018

Я получаю следующую ошибку при сериализации исключения SoapFaultClientException с Джексоном

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Operation not supported by SOAP 1.1 (through reference chain: com.almundo.commons.exception.error.ApiError["cause"]->org.springframework.ws.soap.client.SoapFaultClientException["web_service_message"]->org.springframework.ws.soap.saaj.SaajSoapMessage["saaj_message"]->com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl["action"])

Отладка Я обнаружил, что Джексон является методом действия десериализации и не поддерживается для мыла 1.1:

public String getAction() {
    log.log(Level.SEVERE, "SAAJ0303.ver1_1.msg.op.unsupported.in.SOAP1.1", new String[]{"Action"});
    throw new UnsupportedOperationException("Operation not supported by SOAP 1.1");
}

Iу меня нет шансов перенести мой клиент на Soap 1.2 (принять: application / soap + xml), поскольку конечная точка, которую я потребляю, является внешней и возвращает сообщения SOAP 1.1 (Content-type: text / html), поэтому мне нужен способсказать Джексону, чтобы избежать сериализации этого поля. Однако я не могу добавить @jsonIgnore в Message1_1Impl.Есть ли способ настроить это?

Спасибо, Хорхе

...