В REST-клиенте, написанном с использованием JAX-RS и RestEasy в качестве реализации, я пытаюсь отправить JsonObject через POST в WebService.В проекте используется эталонная реализация JSON-P, org.glassfish.javax.json.
Когда я пытаюсь отправить запрос, я получаю следующее исключение:
javax.ws.rs.ProcessingException: RESTEASY003215: не удалось найти модуль записи для приложения с типом содержимого / типа json: org.glassfish.json.JsonObjectBuilderImpl $ JsonObjectImpl
В pom.xml присутствуют следующие артефакты:
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.6.3.SP1</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.6.3.SP1</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-json-p-provider</artifactId>
<version>3.6.3.SP1</version>
</dependency>
Из того, что я прочитал в документации, должно быть все необходимое.
Запрос вызван следующим образом:
final JsonObjectBuilder credentialsBuilder = Json.createObjectBuilder();
credentialsBuilder.add("username", configuration.getServiceUser());
credentialsBuilder.add("password", configuration.getServicePassword());
final Entity<JsonObject> credentials = Entity
.json(credentialsBuilder.build());
final Response response = ClientBuilder
.newClient()
.target("http://www.example.org/some/url")
.request(MediaType.APPLICATION_JSON)
.post(credentials);
Чего мне не хватает?