In my quest to produce an IMS Tool Interoperability Endpoint which requires a SOAP Server in PHP that handles the complex WSDL for IMS Tool Interoperability – I encountered NUSOAP. I must point out that I have never used nusoap until the last seven days – so I am *not an* expert.
But my general opinion is that nusoap is an awsome product – but poorly documented and not able to handle complex WSDL very well. It is like they did a superb job (I like the coding style of nusoap – the debugging feature is AWESOME) and built until it supported the WSDL that the nusoap folks had to work with and then stopped.
So most of my experience is getting nusoap to handle things that it did not handle out of the box.
I am happy to provide patches to the nusoap folks – but I am guessing that my inexperience with nusoap means that my patches would be architecturally “inelegant” and not good with the philosophy of nusoap – who knows. I may post a message to the nusoap dev list and watch the beatings begin.
The source is here (warning – this has lots of extra debugging code that I added to figure out the internals of nusoap operation – which I left in):
http://www-personal.umich.edu/~csev/sakai/imsti/
You can see the stuff online at:
http://www.sakaiproject.org/imsti-test
At the end of the day, it is no wonder that PHP folks really prefer REST. I was told that perl is better at handling SOAP – I would be curious. Paricularly because I would *love* to have a sample IMS TI tool in perl – but since I HATE the perl language this is not likely to be something that I would do.
Maybe my next foray will be trying to see if Ruby is better than PHP on SOAP parsing of complex and abstract types.