Невозможно создать адаптер вызова для примера класса. ПростойJAVA

Программисты JAVA общаются здесь
Гость
Невозможно создать адаптер вызова для примера класса. Простой

Сообщение Гость »

Я использую модифицированную версию 2.0.0-beta1 с SimpleXml. Я хочу получить ресурс Simple (XML) из службы REST.
Маршалинг/демаршалинг объекта Simple с помощью SimpleXML работает нормально.

При использовании этого кода ( преобразованная форма кода до версии 2.0.0):

final Retrofit rest = new Retrofit.Builder()
.addConverterFactory(SimpleXmlConverterFactory.create())
.baseUrl(endpoint)
.build();
SimpleService service = rest.create(SimpleService.class);
LOG.info(service.getSimple("572642"));


Сервис:

public interface SimpleService {

@GET("/simple/{id}")
Simple getSimple(@Path("id") String id);

}


Я получаю это исключение:

Exception in thread "main" java.lang.IllegalArgumentException: Unable to create call adapter for class example.Simple
for method SimpleService.getSimple
at retrofit.Utils.methodError(Utils.java:201)
at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:51)
at retrofit.MethodHandler.create(MethodHandler.java:30)
at retrofit.Retrofit.loadMethodHandler(Retrofit.java:138)
at retrofit.Retrofit$1.invoke(Retrofit.java:127)
at com.sun.proxy.$Proxy0.getSimple(Unknown Source)


Чего мне не хватает? Я знаю, что перенос типа возвращаемого значения с помощью Call работает. Но я хочу, чтобы служба возвращала бизнес-объекты по типу (и работала в режиме синхронизации).

ОБНОВЛЕНИЕ

После добавления дополнительных зависимостей и .addCallAdapterFactory(RxJavaCallAdapterFactory.create()), как было предложено в разных ответах, я все равно получаю эту ошибку:

Caused by: java.lang.IllegalArgumentException: Could not locate call adapter for class simple.Simple. Tried:
* retrofit.RxJavaCallAdapterFactory
* retrofit.DefaultCallAdapter$1


Подробнее здесь: https://stackoverflow.com/questions/322 ... ple-simple

Вернуться в «JAVA»