ClientHandlerException - Джерси - PullRequest
       2

ClientHandlerException - Джерси

0 голосов
/ 19 декабря 2018

Я получаю сообщение об ошибке, отправив запрос с использованием jerseyclient .Кто-нибудь может взглянуть на ошибку ниже?Буду признателен за ваши отзывы.

А вот что я включил в качестве зависимостей в pom.xml

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-moxy</artifactId>
    </dependency>
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.19</version>
</dependency>

Ошибка, как показано ниже:

com.sun.jersey.api.client.ClientHandlerException: com.sun.jersey.api.client.ClientHandlerException: средство записи тела сообщения для типа Java, класса java.lang.String и мультимедийного типа MIME, application / json, не был найден web_1 |в com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle (URLConnectionClientHandler.java:149) web_1 |на com.sun.jersey.api.client.Client.handle (Client.java:648) web_1 |на com.sun.jersey.api.client.WebResource.handle (WebResource.java:670) web_1 |на com.sun.jersey.api.client.WebResource.access $ 200 (WebResource.java:74) web_1 |на com.sun.jersey.api.client.WebResource $ Builder.post (WebResource.java:563) web_1 |в . . . .handler.request.WrapperHandler.startWrapper (WrapperHandler.java:65) web_1 |в . . . .handler.request.WrapperTask.call (WrapperTask.java:35) web_1 |в . . . .handler.request.WrapperTask.call (WrapperTask.java:8) web_1 |на java.util.concurrent.FutureTask.run (FutureTask.java:262) web_1 |в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1152) web_1 |в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:622) web_1 |на java.lang.Thread.run (Thread.java:748) web_1 |Вызвано: com.sun.jersey.api.client.ClientHandlerException: модуль записи тела сообщения для типа Java, класса java.lang.String и типа носителя MIME, application / json, не был найден web_1 |на com.sun.jersey.api.client.RequestWriter.writeRequestEntity (RequestWriter.java:288) web_1 |в com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke (URLConnectionClientHandler.java:204) web_1 |в com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle (URLConnectionClientHandler.java:147)

А вот код, который делает запрос на публикацию.

ClientConfig cc = new DefaultClientConfig();
Client client = Client.create(cc);

WebResource webResource = client.resource(URL.replaceAll(" ", "%20"));
ClientResponse response = webResource
.accept("application/json")
.type("application/json")
.post( ClientResponse.class, parameters.toString() );

String serverOutput = response.getEntity(String.class);
System.out.println("server output=" + serverOutput);

1 Ответ

0 голосов
/ 19 декабря 2018

Вам необходимо добавить анализатор json к клиенту по умолчанию

apiClient - это код, который понимает объекты json.

JacksonJsonProvider jsonProvider = new JacksonJsonProvider (apiClient.getObjectMapper ());DefaultClientConfig defaultClientConfig = new DefaultClientConfig ();defaultClientConfig.getSingletons () добавить (jsonProvider).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...