Mi código es:Conseguir NullPointException con Jersey RESTO cliente en Android
Client client = Client.create();
WebResource web_resource = client.resource("http://www.myhostname.com/");
// String string = web_resource.path("foo").accept("text/xml").get(String.class);
// Log.d(getClass().getCanonicalName(), "jax-rs client string = " + string);
Num num = web_resource.path("foo").accept(MediaType.TEXT_XML_TYPE).get(Num.class);
La última línea hace que el problema, y me da un problema similar si reemplazo con el 2 comentó líneas con la diferencia de que llegue la excepción en una línea diferente de MediaType.java.
E/AndroidRuntime( 840): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 840): at javax.ws.rs.core.MediaType.toString(MediaType.java:265)
E/AndroidRuntime( 840): at com.sun.jersey.api.client.ClientRequest.getHeaderValue(ClientRequest.java:232)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.writeOutBoundHeaders(URLConnectionClientHandler.java:276)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:197)
E/AndroidRuntime( 840): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
E/AndroidRuntime( 840): ... 17 more
Jersey-client.jar y Jersey-core.jar se han añadido al paquete en el nivel superior y se han añadido a las bibliotecas en la ruta de compilación.
AndroidManifest.xml contiene:
<uses-permission android:name="android.permission.INTERNET" />
sigue buscando respuesta. – necromancer
me gustaría ver el código modificado, ¿alguna actualización? –
@Sponge, lo siento, estoy en una pista diferente y pasarán semanas antes de que haga algo relacionado con Android. No usé control de código y el código está en varios directorios separados. Puedo hacerlo si me lo recuerda dentro de una semana, pero mientras tanto, considere: (1) el cargador de clases android no puede leer las anotaciones a nivel de paquetes que evitan que JAXB se inicialice; se puede arreglar con escaneo manual; esa fue la clave que recuerdo; (2) las clases y sus llamadas tuvieron que ser reubicadas en diferentes paquetes porque javax está restringido; (3) el resultado fue un archivo jar bastante grande que podría no funcionar para la distribución. – necromancer