The Cost of Independence
Paul Downey: If the reason you’re using WS-* is interoperability with tools, then it could be time to rethink that new legacy you’re building.
Even this doesn’t tell the whole story.
From the documentation:
Use WSDL to construct your SOAP client. Even though a service endpoint URL is indicated in the WSDL, you must provide a location URL to your SOAP toolkit. This is necessary to transmit the application ID and the WSSID. In addition, you must set the cookie header containing the cookie that was returned with the WSSID when you credentialed the user in the previous step.
Cookies aren’t transport level independent. Heck, they are controversial even in HTTP. Do the developers of the Yahoo! Mail Web Service APIs care that they are making choices that may make it difficult to “port” this to a different transport layer than HTTP? I guess not. If I were in their shoes, I doubt I would either.
Looking at the Java example, we find the following comment:
Axis2 requires you to jump through some hoops to set a cookie on the SOAP proxy.
Can this same service be implemented using the JAX-WS (nee JAX-RPC) reference implementation? Would such an implementation, if indeed it were possible, be portable?
In not completely unrelated news, O’Reilly has issued a mascot for the RESTful Web Services book that I have been contributing to.
Update: Dims links to an Axis-specific interface that Yahoo!’s example could have used.