EE5 + WebServices + EJB + EJB3 Entity = cryptic exception at deployment

Symptom my web service works fine when declared as a EJB (@Stateless +@WebService)

It doesn't work anymore if place it into a web application which is attached to

the an enterprise application. (@WebService only)

The exception is below I've replaced the name of my class with <<An Entity v3.0 here>>.

Of course if I remove (@WebService) on my webservice the "enterprise application" gets deployed without problem.

Does anyone have an idea for where to investigate or where to report?

Thanks

/Alex

Exception occured in J2EEC Phase

java.lang.NoClassDefFoundError: <<An Entity v3.0 here>>

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Class.java:2426)

at java.lang.Class.privateGetPublicMethods(Class.java:2546)

at java.lang.Class.getMethods(Class.java:1409)

at com.sun.xml.ws.modeler.RuntimeModeler.determineWebMethodUse(RuntimeModeler.java:288)

at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:304)

at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:249)

at com.sun.tools.ws.wscompile.CompileTool.buildModel(CompileTool.java:631)

at com.sun.tools.ws.wscompile.CompileTool.run(CompileTool.java:536)

at com.sun.tools.ws.util.ToolBase.run(ToolBase.java:54)

at com.sun.tools.ws.util.WSToolsObjectFactoryImpl.wsgen(WSToolsObjectFactoryImpl.java:42)

at com.sun.enterprise.webservice.WsUtil.runWsGen(WsUtil.java:1740)

at com.sun.enterprise.webservice.WsUtil.genWSInfo(WsUtil.java:2004)

at com.sun.enterprise.deployment.backend.AppDeployerBase.loadDescriptors(AppDeployerBase.java:328)

at com.sun.enterprise.deployment.backend.AppDeployer.explodeArchive(AppDeployer.java:332)

at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:182)

at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.java:129)

at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:169)

at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:95)

at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:871)

at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:266)

at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:739)

at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:174)

at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:210)

[2717 byte] By [alexfondofjavaa] at [2007-10-3 5:21:48]
# 1
Where is the class in question packaged within your application?
ksaksa at 2007-7-14 23:28:46 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

The entity is located into another archive, here's the the structure

EnterpriseApplication

| Web Application (where my problematic WebService is)

| EJB Module (where my Facade are and the problematic 3.0 POJO is)

I identified the problem and did workaround

One of the WebService method is using a bean to pass data to the web-method, this bean references (as transient) the EJB 3.0 POJO, and the ws compiler does not like at deployment time. So I've split my bean in two, and I do inheritance between the two the father is used for the webservice method, and the child is used as the actual implementation and is the one instanciated in the code.

I've built a sample application that reproduces the problem.

Should I report this somewhere and/or create a ticket?

alexfondofjavaa at 2007-7-14 23:28:46 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...