I’ve been developing apps for the iPhone since the early betas of iOS 2.0, and one of the things I’d like back then was to use SOAP services. Back then, Apple had an old, half-implemented command-line program called wsmakestubs that you could use to generate some stubs that half worked. That program has not been updated, nor has any more SOAP support been added to iOS itself.
What has changed, though, is the eco-system. First off all, we can talk about it and share experiences. Secondly, people have made and shared interesting stuff. One of my favourites is SudzC. It’s very interesting, but has been stuck in alpha for a while. Commercial offerings such as WSClient++ are also interesting, but what I’ve found is that, for the most part, I don’t need all this support I was looking for.
Hand-crafting the XML is easy enough. Just grab SOAP Client and fire of a request, then get the raw request and modify that XML. Likewise, check out the raw response and use XPath to grab the parts of the answer you need. Fire off the request with ASIHttpRequest just to make it easier. All in all, getting hooked up to your SOAP service shouldn’t take long.
For examples of using XPath, check out this example at Stack Overflow.
So back to the topic, the state is that it’s not well supported, but it doesn’t need to. Doing it yourself has become easy with great supporting frameworks for requests and XML handling in the iOS eco system.