Судя по вашему вызову WebClient
и вашему HTTP-ответу, ваше приложение, вероятно, использует версию, предшествующую Spring Framework 5.1.4.RELEASE, и вы можете решить эту проблему .Это применимо только в том случае, если сервер отвечает с состоянием ответа 4xx / 5xx.
Ваш запрос предоставляет тело String и заголовок XML Content-Type.Это выглядит корректно, даже если вы могли бы предоставить объект напрямую и полагаться на JAXB для сериализации XML.
В этом случае в вашем запросе, вероятно, отсутствуют какие-то учетные данные, поскольку сервер отвечает HTTP 401 (нона самом деле со статусом 500, что странно).Вы должны сначала исправить запрос, чтобы сделать его действительным.Я бы сказал, что это ортогонально WebClient
, и вы можете обработать этот запрос с помощью curl
в качестве первого шага.
Теперь, когда часть запроса исправлена и сервер ответит, как и ожидалось, .bodyToMono(Object.class)
часть вашего звонка клиента кажется подозрительной.В этот момент вы, вероятно, столкнетесь с проблемой десериализации.В зависимости от ожидаемого формата ответа, вы должны выбрать другой тип для десериализации и, возможно, предоставить в своем запросе заголовок «Accept», чтобы сообщить серверу, что вы ожидаете от Content-Type.