2009-10-16

hell(o) world

As part of the effort to upgrade the STEP Framework to Java 6 and Tomcat 6, I had a long fight with a software bug. It cost me almost a week's worth of work! Unbelievable!

The error message was "WebServiceException class X do not have a property of the name {Y}Z". The JAX-WS Web Service would work when I didn't have any SOAP handlers configured but would happen whenever I tried to add them back.

I tried changing so many things, one at a time of course, to try and find out the cause for the bug. I went over JAX-WS and JAX-B's source code. But the bug was very elusive.



Thanks to proffy I finally figured it out.

Because of a JAX-WS bug, the generated classes must be compiled by wsimport. If they are compiled later by javac it doesn't work!
The handlers configurations are generated in the build folder. The sources are also generated in the build folder, for programmer reference.

See also: bug report, image credits.

No comments: