Getting "java.lang.NoClassDefFoundError: javax/annotation/Po
stattit May 8, 2007 3:45 PMHi,
AM trying to use the UsernameToken Profile in code and everything seems to be OK at the client side. Using tcpmon, I am able to see the <wsse:username> in the header. However at the server end, I am getting the following stack trace.
14:53:23,718 INFO [STDOUT] <org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/fsb-securityservice-1.0.0].[AuthenticationService]> <ERROR> ~ <Servlet.service() for servlet AuthenticationService threw exception> java.lang.NoClassDefFoundError: javax/annotation/PostConstruct at org.jboss.ws.core.jaxws.handler.HandlerResolverImpl.callPostConstruct(HandlerResolverImpl.java:194) at org.jboss.ws.core.jaxws.handler.HandlerResolverImpl.addHandler(HandlerResolverImpl.java:160) at org.jboss.ws.core.jaxws.handler.HandlerResolverImpl.initHandlerChain(HandlerResolverImpl.java:134) at org.jboss.ws.core.jaxws.handler.HandlerDelegateJAXWS.callRequestHandlerChain(HandlerDelegateJAXWS.java:80) at org.jboss.ws.core.server.AbstractServiceEndpointInvoker.callRequestHandlerChain(AbstractServiceEndpointInvoker.java:112) at org.jboss.ws.core.server.AbstractServiceEndpointInvoker.invoke(AbstractServiceEndpointInvoker.java:162) at org.jboss.ws.core.server.ServiceEndpoint.processRequest(ServiceEndpoint.java:212) at org.jboss.ws.core.server.ServiceEndpointManager.processRequest(ServiceEndpointManager.java:448) at org.jboss.ws.core.server.AbstractServiceEndpointServlet.doPost(AbstractServiceEndpointServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.jboss.ws.core.server.AbstractServiceEndpointServlet.service(AbstractServiceEndpointServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595)
Tcpmon output is
POST /fsb-securityservice-1.0.0/AuthenticationService?datatype=JBossWSMessage HTTP/1.1 Authorization: Basic Z29vZHVzZXI6Z29vZHBhc3N3b3Jk SOAPAction: "http://com.fsb.security/services/authentication/authenticateUser" Content-Type: text/xml; charset=UTF-8 JBoss-Remoting-Version: 2 User-Agent: JBossRemoting - 2.0.0 GA (Boon) Host: localhost:8000 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 634 <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header><wsse:Security env:mustUnderstand='1' xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'><wsse:UsernameToken wsu:Id='token-1-1178650403577-12437939'><wsse:Username>gooduser</wsse:Username><wsse:Password>goodpassword</wsse:Password></wsse:UsernameToken></wsse:Security></env:Header><env:Body><ns1:username xmlns:ns1='http://com.fsb.security/services/authentication/'>gooduser</ns1:username></env:Body></env:Envelope>
We are using JBoss AS 4.0.5 GA and JBossWS 1.2.1 GA. Looking through the source and the distribution the only reference to javax/annotation/PostConstruct is in the jbossws-thirdparty.jar file under the integration-tomcat folder. Placing that file under the JBoss AS 4.0.5 installation causes other weird errors. Am I missing something?
Any help in this matter is appreciated. If any additional information is needed, I will gladly provide it.