Wednesday, July 22, 2009

JAX-WS classes not generating in Eclipse

I have a project that uses annotation processing + jaxws to generate WS interfaces,
but Eclipse (Flexbuilder) will forget about them.
I have to go in, toggle the 'use annotation processing' flag,
restart IDE,
toggle and hopefully it builds them this time so I can export a war file.

Server-side symptom:
Jul 22, 2009 3:45:24 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: runtime modeler error: Wrapper class com.blah.blah.jaxws.MyClass is not found. Have you run APT to generate them?
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
...

It seemed like I tried both combinations...
I check in windows explorer just to make sure the .apt_generated isn't there and not showing up.
I check the properties -- the folder is read-only (probably due to the VSS checkout); I turn this off.
Excellent... I don't see the .apt_generated folder there; perhaps its existence is fleeting.
But I do see generated classes in the build directory.
Oh, now I see .apt_generated at the project toplevel (not in src)...

so, it works.. probably was the folder permissions, there's definitely some bugginess here.

1 comment:

todd said...

Okay, I realize the above is not very clear.

To fix:
1) toggle the 'use annotation processing' flag
2) restart IDE,
3) toggle again

then they should get generated.

what makes them go away? I don't know.
Is it fixed yet?