Как мне решить проблему ответа на вызов RabbitMQ REST 415? - PullRequest
0 голосов
/ 14 сентября 2018

В коде, который я унаследовал, есть вызов REST, который устанавливает права пользователя для виртуального хоста в установке rabbitmq.На моем компьютере разработчика установлен последний сервер RabbitMQ, 3.7.7.Клиентское программное обеспечение использует Spring RestTemplate для запроса хоста.Он генерирует запрос PUT на http://localhost:15672/api/permissions/myhost/administrator с полезной нагрузкой

{"read":".*","write":".*","configure":".*"}

и заголовком HTTP Content-Type:application/json;charset=UTF-8

Все это выглядит разумным для меня - но ответ

HTTP/1.1 415 Unsupported Media Type

Этому коду уже несколько лет, и я подозреваю, что моя установка RabbitMQ слишком нова для него, но я бы предпочел сделать код на будущее, чем устанавливать RabbitMQ 2015 года...

Я много гуглил по этому вопросу, но все, что я обнаружил, это какая-то ошибка с двойными заголовками в клиентском программном обеспечении rabbitmq, который здесь не используется.Я проследил его до классов Apache httpclient, и на стороне отправителя ничего не пахнет.

Есть предложения, что не так?

1 Ответ

0 голосов
/ 19 сентября 2018

Оказалось, что Apache HttpClient добавлял в сообщение второй заголовок типа контента, что вызвало отклонение плагина RabbitMQ Management.

...