Я хочу использовать REST Jersey Client для вызова веб-сервисов. Но он не работает при вызове из приложения Android; тот же вызов веб-службы работает при вызове с простого java-клиента (без какого-либо кода Android). Означает ли это, что Джерси-клиент не работает при вызове в контексте Android или для какой-либо конкретной конфигурации для вызова REST?Джерси-клиент поддерживает Android?
Мой pom.xml имеет это:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.13</version>
</dependency>
Мой пример кода:
Response getResponse = ClientBuilder.newClient()
.target("http://myserver:8081").path("https://stackoverflow.com/users/employees")
.request()
.get();
Я вижу эти ошибки в журналах андроид эмулятор:
Failed resolving Lorg/glassfish/jersey/internal/OsgiRegistry; interface 2690 'Lorg/osgi/framework/SynchronousBundleListener;'
Link of class 'Lorg/glassfish/jersey/internal/OsgiRegistry;' failed
VFY: unable to find class referenced in signature (Lorg/glassfish/jersey/internal/OsgiRegistry;)
...
Cannot find default implementation of the HK2 ServiceLocatorGenerator
java.lang.ClassNotFoundException: Provider of org.glassfish.jersey.internal.RuntimeDelegateImpl could not be instantiated: java.lang.IllegalStateException: No generator was provided and there is no default generator registered.
комментарий Похожие here: «Android имеет виртуальную машину Dalvik, а не оригинальную JVM. причина, по которой API-интерфейс Jersey Client не работает в ОС Android. ! Но I'am нагель уверен»
Другим указатель:. [Джерси 2.x клиент на Android] (HTTPS : //blogs.oracle.com/japod/entry/jersey_2_x_client_on) ... проблемы все еще существуют –