3 Replies Latest reply on Jan 8, 2008 9:11 AM by Zeeshan Javeed

    Getting "java.lang.NoClassDefFoundError: javax/annotation/Po

    Sandesh Tattitali Newbie

      Hi,
      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.