Search code examples
androidwsdlksoap2logcat

What does this error mean in eclipse(android), using ksoap2 to access a webservice?


I get the following error. The program is supposed to print a value it accesses from an online wsdl. But it does not print anything and the following errors appear in LogCat:

02-12 01:34:50.472: D/ExchangeService(672): Received deviceId from Email app: null
02-12 01:34:50.472: D/ExchangeService(672): !!! deviceId unknown; stopping self and retrying
02-12 01:34:55.544: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.544: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.544: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.544: D/ExchangeService(672): !!! EAS ExchangeService, onStartCommand, startingUp = false, running = false
02-12 01:34:55.564: W/ActivityManager(288): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
02-12 01:34:55.564: D/ExchangeService(672): !!! Email application not found; stopping self
02-12 01:34:55.574: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.574: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.584: W/ActivityManager(288): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found
02-12 01:34:55.584: W/Trace(672): Unexpected value from nativeGetEnabledTags: 0
02-12 01:34:55.594: E/ActivityThread(672): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d07d98 that was originally bound here
02-12 01:34:55.594: E/ActivityThread(672): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d07d98 that was originally bound here
02-12 01:34:55.594: E/ActivityThread(672):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 01:34:55.594: E/ActivityThread(672):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 01:34:55.594: E/ActivityThread(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 01:34:55.594: E/ActivityThread(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 01:34:55.594: E/ActivityThread(672):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 01:34:55.594: E/ActivityThread(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 01:34:55.594: E/ActivityThread(672):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 01:34:55.594: E/ActivityThread(672):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 01:34:55.594: E/ActivityThread(672):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 01:34:55.594: E/ActivityThread(672):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 01:34:55.594: E/ActivityThread(672):  at java.lang.Thread.run(Thread.java:856)
02-12 01:34:55.684: E/StrictMode(672): null
02-12 01:34:55.684: E/StrictMode(672): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d07d98 that was originally bound here
02-12 01:34:55.684: E/StrictMode(672):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 01:34:55.684: E/StrictMode(672):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 01:34:55.684: E/StrictMode(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 01:34:55.684: E/StrictMode(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 01:34:55.684: E/StrictMode(672):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 01:34:55.684: E/StrictMode(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 01:34:55.684: E/StrictMode(672):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 01:34:55.684: E/StrictMode(672):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 01:34:55.684: E/StrictMode(672):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 01:34:55.684: E/StrictMode(672):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 01:34:55.684: E/StrictMode(672):  at java.lang.Thread.run(Thread.java:856)
02-12 01:34:55.694: W/ActivityManager(288): Unbind failed: could not find connection for android.os.BinderProxy@413a7a10
02-12 01:34:55.714: E/ActivityThread(672): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d074a0 that was originally bound here
02-12 01:34:55.714: E/ActivityThread(672): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d074a0 that was originally bound here
02-12 01:34:55.714: E/ActivityThread(672):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 01:34:55.714: E/ActivityThread(672):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 01:34:55.714: E/ActivityThread(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 01:34:55.714: E/ActivityThread(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 01:34:55.714: E/ActivityThread(672):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 01:34:55.714: E/ActivityThread(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 01:34:55.714: E/ActivityThread(672):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 01:34:55.714: E/ActivityThread(672):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 01:34:55.714: E/ActivityThread(672):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 01:34:55.714: E/ActivityThread(672):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 01:34:55.714: E/ActivityThread(672):  at java.lang.Thread.run(Thread.java:856)
02-12 01:34:55.724: E/StrictMode(672): null
02-12 01:34:55.724: E/StrictMode(672): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d074a0 that was originally bound here
02-12 01:34:55.724: E/StrictMode(672):  at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
02-12 01:34:55.724: E/StrictMode(672):  at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
02-12 01:34:55.724: E/StrictMode(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1418)
02-12 01:34:55.724: E/StrictMode(672):  at android.app.ContextImpl.bindService(ContextImpl.java:1407)
02-12 01:34:55.724: E/StrictMode(672):  at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
02-12 01:34:55.724: E/StrictMode(672):  at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
02-12 01:34:55.724: E/StrictMode(672):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-12 01:34:55.724: E/StrictMode(672):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-12 01:34:55.724: E/StrictMode(672):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-12 01:34:55.724: E/StrictMode(672):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-12 01:34:55.724: E/StrictMode(672):  at java.lang.Thread.run(Thread.java:856)
02-12 01:34:55.734: W/ActivityManager(288): Unbind failed: could not find connection for android.os.BinderProxy@40d250b8
02-12 01:34:55.754: D/dalvikvm(672): GC_CONCURRENT freed 488K, 21% free 2459K/3100K, paused 75ms+4ms, total 155ms

What is going wrong, and how to set it right?


Solution

  • What happened here is usually caused by the binding between activity and the service. The activity has been stopped and thus the system thinks the service is no longer required and probably stops the service, which causes that error.

    A quick fix would be add unbindService(mConnection); in your onstop() or onDestroy() method.

    If you want to make the service running even after the activity that started it has been destroyed, you should first use startService.

    ComponentName myService = startService(new Intent(this, myClass.class));
    bindService(new Intent(this, myClass.class), myServiceConn, BIND_AUTO_CREATE);
    

    From Android docs:

    For startService:

    Using startService() overrides the default service lifetime that is managed by bindService(Intent, ServiceConnection, int): it requires the service to remain running until stopService(Intent) is called, regardless of whether any clients are connected to it.

    For bindService:

    The service will be considered required by the system only for as long as the calling context exists. For example, if this Context is an Activity that is stopped, the service will not be required to continue running until the Activity is resumed.