Java Http获取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);

我正在尝试使用Web服务,但它不起作用,代码有问题吗

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);