Android应用程序中的UnknownHostException警告

时间:2012-05-28 07:22:46

标签: java android android-layout android-widget

我正在开发一个Android应用程序,它使用Web服务并调用API来发送请求并获得响应。

我的应用程序之前工作正常,但现在当我启动我的应用程序并尝试登录时(应用程序的第一页),这显示以下警告和例外

我的应用代码行是:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
        request.addProperty("requestXml", envelope1);
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        Object response = null;
        try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            response = envelope.getResponse();
            authenticationLoginResponse = response.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }

我收到了以下警告:

androidHttpTransport.call(SOAP_ACTION,envelope);

完成警告日志:

05-28 17:09:06.819: W/System.err(1771): java.net.UnknownHostException: capsconnect.phasestreamtest.com
05-28 17:09:06.822: W/System.err(1771):     at java.net.InetAddress.lookupHostByName(InetAddress.java:506)
05-28 17:09:06.832: W/System.err(1771):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:294)
05-28 17:09:06.832: W/System.err(1771):     at java.net.InetAddress.getAllByName(InetAddress.java:256)
05-28 17:09:06.832: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:69)
05-28 17:09:06.832: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
05-28 17:09:06.832: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
05-28 17:09:06.842: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
05-28 17:09:06.842: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
05-28 17:09:06.853: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
05-28 17:09:06.853: W/System.err(1771):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
05-28 17:09:06.853: W/System.err(1771):     at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:76)
05-28 17:09:06.853: W/System.err(1771):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:152)
05-28 17:09:06.853: W/System.err(1771):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
05-28 17:09:06.853: W/System.err(1771):     at commerce.app.lib.login.LoginScreen.performBackgroundProcess(LoginScreen.java:273)
05-28 17:09:06.862: W/System.err(1771):     at commerce.app.lib.login.LoginScreen.access$2(LoginScreen.java:233)
05-28 17:09:06.862: W/System.err(1771):     at commerce.app.lib.login.LoginScreen$1$1.run(LoginScreen.java:219)
05-28 17:09:06.862: W/System.err(1771): java.lang.NullPointerException
05-28 17:09:06.862: W/System.err(1771):     at java.io.StringReader.<init>(StringReader.java:46)
05-28 17:09:06.872: W/System.err(1771):     at commerce.app.lib.login.LoginScreen.performBackgroundProcess(LoginScreen.java:285)
05-28 17:09:06.872: W/System.err(1771):     at commerce.app.lib.login.LoginScreen.access$2(LoginScreen.java:233)
05-28 17:09:06.872: W/System.err(1771):     at commerce.app.lib.login.LoginScreen$1$1.run(LoginScreen.java:219)

当这个项目几天前运行良好时,任何机构都可以建议为什么会出现这个错误吗?

4 个答案:

答案 0 :(得分:2)

抛出UnknownHostException表示无法确定主机的IP地址。因此,请检查连接问题或是否可以访问服务器。

答案 1 :(得分:1)

它确实看起来程序崩溃的原因不是“UnknownHostException”,而是你调用Log.e()方法的方式。 双击其中一条红线:

  

AndroidRuntime(11689):在android.util.Log.e(Log.java:230)05-16   01:32:56.280:

     

AndroidRuntime(11689):at commerce.app.lib.login.LoginScreen $ 1 $ 1.run

并查看您的IDE(Eclipse?)是否会将您带到代码中的行。那些是导致问题的。 否则只需检查所有输出。

答案 2 :(得分:0)

检查这些:

您的网络服务地址可能已在您的代码或网络服务主机中更改,或者您已在设备上设置了任何代理。

答案 3 :(得分:0)

你必须硬编码服务器IP。如果您使用LAN连接通过路由器进行测试,请再次检查服务器IP并在您的应用程序中进行更改。通过路由器IP连接定期更改时。这可能是unKnownHostException的一个原因