Aufrufadapter für Klassenbeispiel kann nicht erstellt werden.Simple
Ich verwende Retrofit 2.0.0-Beta1 mit SimpleXml. Ich möchte eine einfache (XML-) Ressource von einem REST-Service abrufen. Das Marshalling / Unmarshalling des Simple-Objekts mit SimpleXML funktioniert einwandfrei.
Bei Verwendung dieses Codes (konvertierter Code vor Version 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"));
Bedienung
public interface SimpleService {
@GET("/simple/{id}")
Simple getSimple(@Path("id") String id);
}
Ich erhalte diese Ausnahme:
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)
Was vermisse ich? Ich weiß, dass der Rückgabetyp durch ein @ umbrochen wirCall
funktioniert. Ich möchte jedoch, dass der Service Geschäftsobjekte als Typ zurückgibt (und im Synchronisierungsmodus arbeitet).
AKTUALISIERE
Nachdem die zusätzlichen Abhängigkeiten hinzugefügt wurden und.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
Wie aus verschiedenen Antworten hervorgeht, erhalte ich immer noch den folgenden Fehler:
Caused by: java.lang.IllegalArgumentException: Could not locate call adapter for class simple.Simple. Tried:
* retrofit.RxJavaCallAdapterFactory
* retrofit.DefaultCallAdapter$1