JBossWS Thinks its a servlet (but it's not)
dbcall2 May 10, 2006 4:57 PMI'm exposing an EJB3.0 object as a webservice and I'm seeing some fairly bizarre behaviour. The deployment proceeds properly and I receive the message in the console indicating that the wsdl for my service has been generated like this:
[java] 14:13:49,662 INFO [EJBContainer] STARTED EJB: com.ghx.console.servr.tjvm.ws.AggregateTjvmDataServiceImpl ejbName: AggregateTjvmDataServiceImpl
[java] 14:13:49,677 INFO [EJB3Deployer] Deployed: file:/C:/tools/jboss4.0.4.CR2/server/transmon/tmp/deploy/tmp39785transmon.ear-contents/transmon_ejb.jar
[java] 14:13:49,693 INFO [WSDLFilePublisher] WSDL published to: file:/C:/tools/jboss4.0.4.CR2/server/transmon/data/wsdl/transmon.ear/transmon_ejb.jar/AgregateTjvmDataService39786.wsdl
However, when I try to run the wsdl query (ie /AggregateTjvmDatatService?wsdl) I get this exception:
javax.servlet.ServletException: Class com.ghx.console.server.tjvm.ws.AggregateTjvmDataServiceImpl is not a Servlet
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
java.lang.Thread.run(Thread.java:595)
Obviously, the webservice is NOT a servlet in the usual sense but then again, it's not supposed to be...
I started seeing this behavior shortly after converting my POJO webservice into an EJB3 webservice. As a POJO object I could query for the wsdl with no problems. Now, I just get my service deactivated.... bummer.
Is this a bug? Or just operator error?
Thanks,
Brian