我正在编写一个调用 Web 服务的 Android 客户端。该服务是使用 JAX-RS / Jersey API 编写的。我还尝试在 android 端使用 Jersey-Client API。
Client client = Client.create();
WebResource webResource = client.resource(server + "/api/restaurant_info/update");
MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("id", id);
formData.add("f", Boolean.toString(f));
formData.add("fId", fId);
ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, formData);
RestInfo restInfo = response.getEntity(RestInfo.class);
return restInfo;
我已经在外部测试了 Web 服务,它似乎工作正常。当我尝试从应用程序中调用它时,我在 ClientResponse 行收到 NullPointerException。
03-26 14:15:43.735: WARN/System.err(1060): java.lang.NullPointerException
03-26 14:15:43.745: WARN/System.err(1060): at javax.ws.rs.core.MediaType.valueOf(MediaType.java:119)
03-26 14:15:43.745: WARN/System.err(1060): at com.sun.jersey.api.client.PartialRequestBuilder.type(PartialRequestBuilder.java:92)
03-26 14:15:43.755: WARN/System.err(1060): at com.sun.jersey.api.client.WebResource.type(WebResource.java:309)
03-26 14:15:43.755: WARN/System.err(1060): at com.era.external.era.ERAService.updateRestaurantFranchise(ERAService.java:80)
03-26 14:15:43.755: WARN/System.err(1060): at com.era.android.RestaurantActivity$4.onItemSelected(RestaurantActivity.java:201)
03-26 14:15:43.755: WARN/System.err(1060): at android.widget.AdapterView.fireOnSelected(AdapterView.java:856)
03-26 14:15:43.766: WARN/System.err(1060): at android.widget.AdapterView.access$200(AdapterView.java:41)
03-26 14:15:43.766: WARN/System.err(1060): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:827)
03-26 14:15:43.776: WARN/System.err(1060): at android.os.Handler.handleCallback(Handler.java:587)
03-26 14:15:43.776: WARN/System.err(1060): at android.os.Handler.dispatchMessage(Handler.java:92)
03-26 14:15:43.776: WARN/System.err(1060): at android.os.Looper.loop(Looper.java:123)
03-26 14:15:43.786: WARN/System.err(1060): at android.app.ActivityThread.main(ActivityThread.java:3948)
03-26 14:15:43.786: WARN/System.err(1060): at java.lang.reflect.Method.invokeNative(Native Method)
03-26 14:15:43.796: WARN/System.err(1060): at java.lang.reflect.Method.invoke(Method.java:521)
03-26 14:15:43.796: WARN/System.err(1060): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
03-26 14:15:43.796: WARN/System.err(1060): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
03-26 14:15:43.806: WARN/System.err(1060): at dalvik.system.NativeStart.main(Native Method)
关于我做错了什么有什么想法吗?
从堆栈跟踪来看,这可能是在任一处发生的事情
-
ERAService line
80 在updateRestaurantFranchise
method
-
RestaurantActivity
第 201 行onItemSelected
method
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)