Thank you for a wonderful question. Dave is perhaps the better expert on this.
However here is my short answer.
Android so far in all the releases hasn't made an explicit effort to support SOAP. Nor does it support explicit Java/XML binding. Even for its internal work of converting the declarative UI (defiend in XML) to corresponding Java objects is done through a plain fast SAX parser.
So REST/JSON has been a preferred method for newly architected solutions. Android comes with org.json package. There are libraries that support this. The most popular is GSON. However a library called Jackson is gaining fast ground as GSON seem to be very slow. I recommend that you give Jackson a try.
On the SOAP front, a variant of SOAP called ksoap, looks like has been ported to android. You may want to look up ksoap site to see if it is compatible to call existing soap services. Some folks are using SOAP UI to generate a SOAP XML stub/template and then filling in, simulating a SOAP call through http client. There seem to be some home grown/commercial soap clients such as wsclient. The commerical "wsclient" seem real nice and seem to be architected better for Android.
I have posted my research on this topic at my site
Read this link for more on this topic