Java Http获取web服务错误
我正在尝试使用Web服务,但它不起作用,代码有问题吗Java Http获取web服务错误,java,http-get,Java,Http Get,我正在尝试使用Web服务,但它不起作用,代码有问题吗 private DefaultHttpClient client = new DefaultHttpClient(); public String recebe(String url) { HttpGet getRequisicao = new HttpGet(url); try { HttpResponse getResponse = client.execute(getRequisicao);
private DefaultHttpClient client = new DefaultHttpClient();
public String recebe(String url) {
HttpGet getRequisicao = new HttpGet(url);
try {
HttpResponse getResponse = client.execute(getRequisicao);
final int stateCode = getResponse.getStatusLine().getStatusCode();
if (stateCode != HttpStatus.SC_OK) {
Log.w(getClass().getSimpleName(), "Error " + stateCode + " for URL " + url);
return null;
}
HttpEntity getEntidadeResponsavel = getResponse.getEntity();
if (getEntidadeResponsavel != null) {
return EntityUtils.toString(getEntidadeResponsavel);
}
}
catch (IOException e) {
getRequisicao.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}
return null;
}
与
无论出于何种原因,您的
recebe
方法都会抛出一个IOException
,该异常会被捕获
catch (IOException e) {
getRequisicao.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}
return null;
方法返回null
,其中
Log.d(getClass().getSimpleName(), response);
尝试打印,但由于NullPointerException
而失败
更改catch语句以打印异常
e
的消息,以查找其内容。应用程序返回致命错误您确定发生在此处吗?日志在receberlistProjetos
中显示。private ArrayList receberlistProjetos(){String url=construirEndereco();String response=recebeHTTP.recebe(url);log.d(getClass().getSimpleName(),response);return xmlParser.parseProjeto(response);}
09-25 20:38:01.741: W/System.err(740): java.net.UnknownHostException: Unable to resolve host "www.camara.gov.br": No address associated with hostname
09-25 20:38:01.771: W/System.err(740): at java.net.InetAddress.lookupHostByName(InetAddress.java:426)
09-25 20:38:01.771: W/System.err(740): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
09-25 20:38:01.771: W/System.err(740): at java.net.InetAddress.getAllByName(InetAddress.java:220)
09-25 20:38:01.781: W/System.err(740): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
09-25 20:38:01.781: W/System.err(740): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
09-25 20:38:01.781: W/System.err(740): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
09-25 20:38:01.781: W/System.err(740): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
09-25 20:38:01.781: W/System.err(740): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
09-25 20:38:01.792: W/System.err(740): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
09-25 20:38:01.792: W/System.err(740): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
09-25 20:38:01.792: W/System.err(740): at com.mds.app.services.RecebeHTTP.recebe(RecebeHTTP.java:24)
09-25 20:38:01.792: W/System.err(740): at com.mds.app.services.ProcuraProjeto.receberListaProjetos(ProcuraProjeto.java:24)
09-25 20:38:01.792: W/System.err(740): at com.mds.app.services.ProcuraProjeto.procurar(ProcuraProjeto.java:13)
09-25 20:38:01.792: W/System.err(740): at com.mds.app.view.MainActivity$PerformMovieSearchTask.doInBackground(MainActivity.java:109)
09-25 20:38:01.822: W/System.err(740): at com.mds.app.view.MainActivity$PerformMovieSearchTask.doInBackground(MainActivity.java:1)
09-25 20:38:01.822: W/System.err(740): at android.os.AsyncTask$2.call(AsyncTask.java:264)
09-25 20:38:01.822: W/System.err(740): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
09-25 20:38:01.831: W/System.err(740): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
09-25 20:38:01.831: W/System.err(740): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)
09-25 20:38:01.831: W/System.err(740): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
09-25 20:38:01.842: W/System.err(740): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
09-25 20:38:01.842: W/System.err(740): at java.lang.Thread.run(Thread.java:856)
09-25 20:38:01.842: W/System.err(740): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
09-25 20:38:01.873: W/System.err(740): at libcore.io.Posix.getaddrinfo(Native Method)
09-25 20:38:01.873: W/System.err(740): at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55)
09-25 20:38:01.873: W/System.err(740): at java.net.InetAddress.lookupHostByName(InetAddress.java:411)
09-25 20:38:01.873: W/System.err(740): ... 21 more
catch (IOException e) {
getRequisicao.abort();
Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
}
return null;
Log.d(getClass().getSimpleName(), response);