SOAP Web-Services are everywhere. There is a plethora of Java frameworks supporting SOAP but most of them follow the paradigm of the explicit or implicit code (stubs) generation. Handy as it may seem at the beginning, it can also be redundant and cumbersome. Problems occur when a single WSDL/XSD change triggers a full recompilation and redeployment of the app or when many versions of the same service have to be maintained within one code-base. The trickery that is then applied, like postfixing class names, adding version numbers to packages, sharing common classes, etc., does not scale well, causes a rapid code-base growth and is clearly against the "best practices". Finally, marshalling and unmarshalling the whole payload may also cause a significant performance deterioration. This session will be a critical whirlwind tour of SOAP Web-Services reviewing the existing solutions and emphasizing some of the biggest drawbacks of the frameworks based on the code generation. It will rethink the idea of Java Web-Services refuting widely-accepted concepts that nobody reflects on anymore. It will also offer people handy tools to overcome above mentioned problems and prevent them from following bad practices. On the example of soap-ws, project authored by me, a completly different approach will be presented. soap-ws provides a lightweight Java Web-Services stack (based on Spring-WS) that handles the SOAP protocol "codelessly" on a purely XML level. Using soap-ws enables handy generation, transmission and handling of SOAP messages without the usage of stubs, no matter what flavors the WS client and server are (RPC,document; literal,encoded). You simply cannot miss out if you have ever used a Web-Service!
http://projects.reficio.org/soap-ws
http://www.jdays.se/speakers?abstractId=19846258253