I'm trying to find if there's a way to see which HTTP requests are being done on a server. The reason is I'm trying to troubleshoot a problem with contact synchronization.
I've been having a problem synchronizing my GMail contacts on my Android phone (Galaxy SIII). The date for the last sync is well over a month ago and the two arrows that rotate to indicate activity are static and permanently present in the Sync settings screen.
However, contact data does seem to be synchronized between my phone and the GMail server: new contacts created in one appear in the other, and modifications on one side are then synchronized back to the other.
If I press Cancel sync I used to get a toast saying that there are temporary problems and to try later (I think the message was "sync is currently experiencing problems. It will be back shortly"). But now nothing happens when I press Cancel sync.
Deleting all the Google contact data in the phone and then re-syncing is not an option for two reasons:
- If the problem is with a contact in the server then it won't fix the issue
- I don't want to risk losing data that I added on the phone and wasn't sent to the server yet.
I turned on developer mode to get ADB logs; the following line seemed the most relevant (repeated 8 times):
D/ContactsSyncAdapter( 2964): IOException: java.io.IOException: received unhandled http error: 500
then followed by
D/SyncManager( 2257): failed sync operation , SyncResult: stats [ numIoExceptions: 8]
I think that there are 8 contacts that somehow are not able to be synchronized, but I can't really find out which ones. Finding the HTTP requests that end with a 500 error could potentially reveal which contacts might be causing trouble or more troubleshooting clues.
I'd like to avoid rooting my phone, but I do have a full Android SDK and source environment set up. I've tried using DDMS but haven't been able to make it show if/which requests are being sent to the server.