我正在开发一个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)
当这个项目几天前运行良好时,任何机构都可以建议为什么会出现这个错误吗?
答案 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的一个原因