Мне нужно сделать вызов REST для интерфейса. Для этого я использую следующий код:Форма JAX-RS в пределах Widfly
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
Response res = client.target(url).
request().
header("Authorization", "Basic " + basicAuthString).
buildPost(Entity.form(new Form("grant_type", "client_credentials"))).
invoke();
В отдельном приложении с JAX-RS, это работает, как ожидалось. Когда я использую этот код в Wildfly сервера приложений, я получаю следующее сообщение об ошибке:
20:16:15,186 ERROR [stderr] (default task-5) Caused by:
javax.ws.rs.ProcessingException: RESTEASY003215: could not find writer for content-type application/x-www-form-urlencoded type: javax.ws.rs.core.Form
Wildfly не знает, как обращаться с javax.ws.rs.core.Form
, что создает Content-Type: application/x-www-form-urlencoded
. Какую зависимость я пропускаю?
[EDIT: 2016-07-07]
Эта ошибка возникает для любых данных, я хочу отправить. Это бросает подобную ошибку:
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);
Response res = client.target(url).
request().
post(Entity.entity("DATA", MediaType.TEXT_PLAIN));
. Добавьте это в свой запрос или проверьте, какой тип контента он ожидает, и добавьте его в заголовок заголовка («Content-Type», «application/x-www-form-urlencoded») – Naruto
Результаты с той же ошибкой. – Dennis
Попробуйте добавить @Consumes ("application/x-www-form-urlencoded") в API, к которому он звонит – Naruto