Ok, before I start I will point out that I have not read the documentation in any depth (although I see it's still being written) so my question may well be answered somewhere (if so please point me at it and sorry for wasting your time!).
I've been developing an application for a while now that uses (and includes) Axis as the SOAP stack but, recently, the code has been moved to using the J2EE 1.4 support for SOAP, in order to use the J2EE containers SOAP stack and remove the dependency on Axis. This latest version is currently in development and, although it's working with JBoss, it needs to support other J2EE servers (specifically Websphere).
Now, there is currently an effort to start planning the future version of this product and it will be supporting a RESTful interface (because SOAP is a bit of overkill for the restructuring of the actions). This is either going to be a WebWork or Spring based system (currently the prototype is WebWork but that may change). Now, although the RESTful interface is there and should suffice for most users we have these "legacy" users using the old SOAP interface who believe that SOAP is wonderful and necessary (I believe neither but that's just me), so we have to provide a SOAP interface for them. Ideally I'd rather not duplicate code (between the RESTful interface and SOAP interface), nor do I particularly like the idea of wrapping the RESTful interface (and calling it from the SOAP layer).
This is where, I believe, Spring-WS could be useful in that I can write the actions as beans, use SpringMVC and Spring-WS to provide me with the RESTful and SOAP interfaces. I hope that's right!?!!
But, the question that I can't seem to find an answer to is this: does Spring-WS *include* a SOAP stack or does it use the J2EE containers stack? It may not be an issue but we have clients who have specifically requested the removal of Axis from the solution (hence the code currently in development) and I believe that they will roll their eyes if we provide the next version with yet-another-SOAP-implementation.
If I've been unclear on anything or you need further information please let me know.
Matt


Reply With Quote