Soap and Cocoa, not so clean?

It's such a shame, with Cocoa we now have perhaps the best web interaction possibilities on any platform with the webkit framework, we have great XML parsing technology, and we can create by far the sexiest applications on any platform. Still, the moment I use the Ruby framework soap4r, I jealously wonder why don't we have something like this?!

And it's not only Ruby, looking at other languages like Java, Python, Perl etc it seems to me that SOAP support in the Cocoa frameworks is appalling, in fact there is no direct support. Sure, there is the CoreWebservices framework, but that's core foundation and requires some pretty cryptic coding at times. But even worse, documentation and examples are sparse and to get it working properly is everything but straightforward. Where is the Cocoa framework we are all waiting for that wraps all this low-level stuff and makes SOAP finally fun to work with?

It seems Apple is not interested in SOAP, some argue SOAP is dead anyway. REST is the way to go. This might be true elsewhere but not in biology, in fact, here at the EBI they are rolling out one after the other new SOAP service, and the same is true for many other sciences. It demonstrates that not only REST but also SOAP webservices will only become more important in the future. And I could do so many cool things with them if it were only a bit more easy to use.

There's one guy who is my "CocoaSOAP hero", that's Todd Ditchendorf. Todd has created a pretty cool general SOAP client (besides even more cool XML tools), and also released the few examples that are around. Secretly I hope Todd will create a soap4Cocoa framework one day, with Apple not interested I guess a 3rd party or open source inititative is the only thing we can hope for.

Or am I wrong and did I miss something? I sure hope so. Let me know what you think!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Let's ask Apple shall we?

I have now created also an official request to Apple to add better SOAP support in the Cocoa frameworks. If you too think that Cocoa's support for SOAP is archaic to say at least, please join me in filing a bugreport in their bugreporter system at http://bugreport.apple.com
The more people file a bug report the higher the chance someone at Apple's is allocated to this task, perhaps we can even push it into Leopard still...

To make their lives a bit easier don't forget to refer to Bug ID# 5218055.

Re:Soap and Cocoa

You probably know this already :)

It might be impractical for your scenario, but maybe you could create a framework that leverages RubyCocoa or PyObjC. You might have an ObjC wrapper class which takes care of communicating between your other ObjC code and the Ruby or Python scripts that handle the SOAP stuff.

You might have seen this RubyCocoa page already, but here it is: simple example of calling Ruby from Objective-C--unfortunately it is somewhat of a chore.

Chinmoy.

sad but true

Yes, sadly that is indeed the way I'm almost tempting the go, thank god for the different bridges! But it just feels so wrong to have to jump to these kind of hoops just because it is something this "basic" that my so-called state-of-the-art Objective-C 2 Cocoa frameworks totally lacks.. :-(

agreed

Just another thought: It might be a bit more convenient using a C++ library because the Objective-C++ bridge is already provided by Apple and using C++ objects from ObjC classes is easier than using Ruby or Python from ObjC. Of course with C++, you have other things to worry about :(

Anyway, I agree that SOAP must 'just work' with Cocoa. I am with you in filing that report.

Did you see this article

Alex, not sure if it is of any help, but did you see this article on Apple's website:

http://developer.apple.com/internet/webservices/soapphp.html

Late Night Cocoa episode

Of interest for this discussion might also be this episode of Late Night Cocoa, where the guest had a number of useful tips to get started on that topic:

http://www.latenightcocoa.com/node/20

PHP

Thanks Koen, I have seen that one indeed. It illustrates again that MacOSX is a great platform to do develop and interact with SOAP services, but not using Cocoa unfortunately :-(

Great episode

This is a great episode. In general the Late Night Cocoa podcasts are absolutely great, something everyone who's interested in Cocoa development should check out. But also here you see that they tend to go for a different development environment (.Net, C#) that is used via a bridge (Mono) in Cocoa.