Dep
Dep

Reputation: 183

Android phone not connecting to webservice but emulator is connecting- timeout error

New to Android, I have .Net webservices residing in my PC. when my Android application calls the webservice from emulator with below code (where XX.XX.XX.XX is my IP address), it runs perfectly.

HttpClient client = new DefaultHttpClient();
                            HttpConnectionParams.setConnectionTimeout(client.getParams(), 1000000); //Timeout Limit
                        HttpResponse response;
                    try {
                        HttpPost post = new HttpPost("http://XX.XX.XX.XX/SDService_SAFTI/ServiceSD.svc/LoginUser");

But running the same code in mobile does not work. Error as below. Can it be a port issue? Both phone and PC are on the same network. Any suggestions are welcome. Many thanks in advance.

03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err: org.apache.http.conn.ConnectTimeoutException: Connect to /XX.XX.XX.XX:80 timed out
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:163)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:517)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:495)
03-03 08:55:37.350 3273-4019/com.androidatc.customviewindrawer W/System.err:     at com.androidatc.customviewindrawer.LoginFrag$1.run(LoginFrag.java:121)

After running for some time, now its showing below logcat.

03-03 09:05:56.793 12466-12685/com.androidatc.customviewindrawer I/System.out: [CDS]connect[/192.168.0.102:80] tm:1000
03-03 09:08:09.392 12466-12517/com.androidatc.customviewindrawer I/ViewRootImpl: ANR Key Analyze: No Key event currently.
03-03 09:08:09.394 12466-12517/com.androidatc.customviewindrawer I/ViewRootImpl: ANR Key Analyze: Previeous Event null,finish at 2016-03-03 09:05:56.094
03-03 09:08:09.394 12466-12517/com.androidatc.customviewindrawer I/ViewRootImpl: ANR Motion Analyze: No motion event currently.
03-03 09:08:09.395 12466-12517/com.androidatc.customviewindrawer I/ViewRootImpl: ANR Motion Analyze: Previeous Event MotionEvent { action=ACTION_UP, id[0]=0, x[0]=609.4357, y[0]=967.4961, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=243593704, downTime=243593647, deviceId=6, source=0x1002 },finish at 2016-03-03 09:05:56.778
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder: Caught a RuntimeException from the binder stub implementation.
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1232)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:679)
03-03 09:08:09.404 12466-12488/com.androidatc.customviewindrawer W/Binder:     at android.os.Binder.execTransact(Binder.java:451)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder com.mediatek.anrappmanager.IFrameworks.serviceManagerGetService(java.lang.String)' on a null object reference
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$1.b(SourceFile:77)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$1.c(SourceFile:75)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative$a.get(SourceFile:97)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at com.mediatek.anrappmanager.ANRManagerNative.getDefault(SourceFile:35)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at com.mediatek.anrappmanager.ANRAppManager.dumpMessageHistory(SourceFile:59)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at android.app.ActivityThread$ApplicationThread.dumpMessageHistory(ActivityThread.java:1232)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:679)
03-03 09:08:09.405 12466-12488/com.androidatc.customviewindrawer W/System.err:     at android.os.Binder.execTransact(Binder.java:451)
03-03 09:08:09.453 12466-12480/com.androidatc.customviewindrawer I/art: Thread[9,tid=12480,WaitingInMainSignalCatcherLoop,Thread*=0x55a71953d0,peer=0x12c53080,"Signal Catcher"]: reacting to signal 3
03-03 09:08:09.661 12466-12480/com.androidatc.customviewindrawer I/art: Wrote stack traces to '/data/anr/traces.txt'

enter image description here

Updated - screenshot - port forwarding:

enter image description here

Upvotes: 0

Views: 394

Answers (1)

Sid
Sid

Reputation: 1284

The way I do this is by using port forwarding:

1) Connect your device and open chrome on both your mobile and laptop browser.

2) On the URL tab, type chrome://inspect

3) Click on port forwarding and add a new row, with port as 8888 and IP as webservice_url:port. enter image description here

4) Now in your android application code, replace webservice_url:port with localhost:8888. Basically now on 8888 your mobile will call the computer webservice url. Note: Make sure that chrome is open on both your laptop and the device. And when you type chrome://inspect you should be able to see the device you have attached.

Refer to this for more help: https://developer.chrome.com/devtools/docs/remote-debugging

Also add <uses-permission android:name="android.permission.INTERNET"/> to your Androidmanifest.xml

Upvotes: 1

Related Questions