0

Web サービスを使用し、API を呼び出して要求を送信し、応答を取得する Android アプリケーションを開発しています。

アプリケーションは以前は正常に動作していましたが、アプリケーションを開始してログインしようとすると (アプリケーションの最初のページ)、次の警告と例外が表示されます。

私のアプリコード行は次のとおりです。

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, エンベロープ);

完全な警告ログは次のとおりです。

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

4 に答える 4

2

これUnknownHostException は、ホストの IP アドレスを判別できなかったことを示すためにスローされます。そのため、接続の問題を確認するか、サーバーにアクセスできるかどうかを確認してください。

于 2012-05-28T07:26:02.530 に答える
1

プログラムがクラッシュする理由は、「UnknownHostException」ではなく、Log.e() メソッドを呼び出す方法にあるようです。赤い線の 1 つをダブルクリックします。

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

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

IDE (Eclipse?) がコード内の行に移動するかどうかを確認してください。それらは問題を引き起こすものです。それ以外の場合は、すべての出力を確認してください。

于 2012-05-28T07:31:10.163 に答える
0

これらを確認してください:

コードで Web サービス アドレスが変更されているか、Web サービス ホストが現在ダウンしているか、デバイスにプロキシを設定している可能性があります。

于 2012-05-28T07:30:31.757 に答える
0

サーバー IP をハードコーディングする必要があります。ルーター経由でテストするために LAN 接続を使用している場合は、サーバー IP を再度確認し、アプリケーションで変更してください。ルーター経由で接続すると、IP が定期的に変更されます。これは、unKnownHostException の原因の 1 つになる可能性があります。

于 2012-05-28T07:31:05.553 に答える