I just wanted to get some opinions on people who have used one of the PHP SOAP packages.
I'll start off by sharing my experience:
- NuSOAP: was my first choice a couple years ago, but I don't see any updates on this in a long long time. In fact, nothing on NuSphere's page talks about SOAP other then their wizard in their IDE. Even so, it appears to get the job done for simple tasks, and it's API is more straight forward. The only documentation I can find is simple and outdated tutorials on how to use it with Amazon/Google
- PEAR SOAP: Recommended to me as the best choice until php5. The API will be similar to the PHP5 API, but not the same so expect some churn in my projects later. The main gripes about it are a lack of support for digest authentication, no full WSDL support (ie doesn't support the choice tag for defining an array of mixe data types).
One gotcha when developing a pear soap server is how everything is an array.... Let me give you an example. A normal parameterized method has an array of parameters, and those parameters are easily just an array of name value pairs. For a SOAP array, it's a nested array. For a struct it's an array. For an array of SOAP structs, it's a nested array of arrays ..... which looks like a lot of looping through to get elements out. I would be interested in suggestions here.
- PECL SOAP (formerly known as php-soap on sourceforge)... I *think* this is being worked on as the default SOAP implementation for php5. Recently I have seen it appear in the php manual under web services, but noted as experimental. Unfortunately for me I can't use php5 or experimental soap stuff at work. I haven't heard anything on its features (digest authentication support, WSDL support, etc), but I would be interested to see what's coming down the road.