Jan 17th, 2006, 05:50 PM
Best solution for contract first web service exposure
This could go here or in remoting, but the coin said here..
Thus far, I love spring. I am writing a server that uses the hessian, burlap, httpinvoker, and web service exposure methods through spring (flexibility in access method is required). The first three were, of course, simplistic using the DispatcherServlet. I am in a quandry about how to best accomplish the fourth since there are so many options. I have to have multiple ports within the service context (http://.../mysystem/env, http://.../mysystem/security, etc.).
I know I want a contract-first service. Write the WSDL, generate the server code, generate the Java/C# client code, etc. As I understand it, this means Xfire is out. Is Axis then the only option? From the examples I've seen, that means that I need another instance of the DispatcherServlet and therefore lose my common service context? jax-ws 2.0 generates the files with the jsr-181 annotations. Could I somehow just expose those in spring like I did with burlap and hessian using some class I apparently haven't found yet?
Thanks for your time and input.
Jan 17th, 2006, 08:03 PM
XFire sure can handle contract first web services. Xfire supports various binding mechanisms. While its true that Xfire's default "Aegis" binding does not support contract first, there are plenty of other options. If fact we will probably use it for a project here at my gig. If you need code generation you can use Xfire's JAXB2 intergration, however if you can't use java 1.5/5.0 they have XMLBeans bindings also. In addtion they have a MessageBindingProvider where you can manipulate the soap message yourself programmatically. (This is what we will probably use)
Hope that helps,