Thursday, February 15, 2007

XFire newbie gotcha: use the correct ServiceFactory

If you use the jaxb binding (the default with the Maven-plugin) to generate you client proxies, to actually use your service, you have to instantiate a org.codehaus.xfire.jaxb2.JaxbServiceFactory instead of an org.codehaus.xfire.service.binding.ObjectServiceFactory. Otherwise the parameter names (wsdl:part@name) will be replaced with "in0"-elements by XFire - and the server will complain about an unexpected element "in0".

Quality of Maven integration becomes decisive for OSS adoption - good bye Axis

Today I realised, how important it became for any open-source project to play nicely with the Maven repository and to get its dependencies right in its pom's .
When I had to whip up a web-service client yesterday, I started out trying Axis-2 since I knew the server impl was bases on Axis. Quickly I had to decide to either start debugging their maven-plugins dependencies (obviously wsdl4j was lost somhow), or to try something different (XFire). What I definitely not wanted was to clutter my build with Ant or, worse, CLI calls. I quickly tried XFire, its Maven plugin worked out of the box - even the library itself was a pleasant surprise (easy to use, nice Jaxb-bindings, clean generated code).

Sunday, February 11, 2007

New Version 1.0.2 of hivedoc-plugin for HiveMind /Maven2

Finally, I got around to enhancing the hivedoc-plugin with:

  • Support for sub-modules

  • Removal of empty columns in the module-summary table.

The new version 1.0.2 should be on the central repo as soon as MAVENUPLOAD-1377 is resolved.