每次调用webservice都会出现错误:com.android.volley.NoConnectionError:java.io.IOException:Hostname未经验证
仅在应用程序设置中执行“强制关闭”有助于使我的应用程序再次从webservice获取结果。
这是一个带有效证书的ssl连接(一切都适用于iOS)。
我在android 4.1.2,4.4.4和模拟器上检查过这个。 Volley库有错吗?我应该在哪里搜索以获得更多信息以便能够解决问题。
我看到有类似的问题,但答案是要删除验证:/
@Override
protected Boolean doInBackground(Object... arg0) {
// Instantiate the cache
Cache cache = new DiskBasedCache(ctx.getCacheDir(), 1024 * 1024 * 10); // 10MB cap
// Set up the network to use HttpURLConnection as the HTTP client.
Network network = new BasicNetwork(new HurlStack());
// Instantiate the RequestQueue with the cache and network.
queue = new RequestQueue(cache, network);
queue.start();
future = RequestFuture.newFuture();
Gson gson = new Gson();
String jsonString = gson.toJson(generalAsk);
JSONObject js = null;
try {
js = new JSONObject(jsonString);
} catch (JSONException e) {
e.printStackTrace();
}
jsObjRequest = new JsonObjectRequest(Request.Method.POST, WsUtils.WS_URL + wsAddress, js, future, future);
queue.add(jsObjRequest);
try {
JSONObject response = future.get();
Gson gs = new GsonBuilder().serializeNulls().create();
generalResponse = (BaseResponse) gs.fromJson(response.toString(), c);
return true;
} catch (InterruptedException e) {
errorMessage = e.getMessage();
} catch (ExecutionException e) {
errorMessage = e.getMessage();
}
return false;
}
答案 0 :(得分:0)
原来,服务器端出现问题。经过几个小时的管理员挖掘,一切都很完美。不幸的是我不知道他们改变了什么,但肯定不是Android故障。