Developing Web Services with Eclipse and CXF

Update:This is the most searched-for entry on my blog, and I have to warn you it is WAY OUT OF DATE! So skip it - and someday I’ll write an update and link it from here…

I’ve seen more than one instance of people scratching their heads over the CXF tools in the Eclipse STP project, so it was time to go back to the drawing board and take a new approach. Now we’ve finished our first cut of what we think service creation tools should look like, we would like you to check them out and tell us what you think.

What have we done differently? Well, the code is now completely based on Eclipse WTP frameworks, rather than having only a passing integration with them. If you’ve ever done Axis2 web service development with Eclipse, then you should be able to get familiar with this really, really quickly. You can create CXF web services from WSDL, or from a Java class or interface. The tools support selection or extraction of an SEI if you are starting from a class. JAX-WS annotations get added automatically, and you set preferences on how you would like them to be defaulted. And to help with getting those annotations right, we’ve added some validation - you’ll get error markers if you incorrectly combine annotations.

If the alphabet soup in the previous paragraph has made you sleepy, a few examples of the tools working might help to perk you up. Check the silent movies.

So, where can you get the code? For a start, we’ve bundled it in the FUSE Integration Designer Preview. We’ve also decided to contribute the code to the Eclipse WTP project, where it can be warm and cosy and be accessible for all. You can find the proposal for the WTP Incubator attached to Eclipse bug #248630. Also attached to that Eclipse bug is a zip file that contains the plugins you need to get running. Unzip this into your eclipse directory, restart your workbench and you should be good to go.

Try it out and let me know how you got on. You can leave feedback here on this blog, add a comment to the Eclipse bugzilla, send an email to users@cxf.apache.org (best place right now), or drop in on the FUSE Tools Forum.