3 Replies Latest reply on Feb 7, 2019 4:41 AM by hman

    javax.smartcardio in JBOSS 7.1

    joose

      Hi everyone. I'm new at this forum. I'm searching a way to solve my problem but I can't find a solution. I hope someone can help me.

       

      I'm trying to use javax.smartcardio api in my final degree project. I'm using a Maven archetype (jboss-jee6-webapp) in Eclipse. And when I'm trying to use an api method I get this problem:

       

      15:13:03,882 ADVERTENCIA [javax.enterprise.resource.webcontainer.jsf.lifecycle] (http-localhost-127.0.0.1-8080-1) #{pruebaController.miFuncion()}: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory: javax.faces.FacesException: #{pruebaController.miFuncion()}: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory

                at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]

                at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.7-jbossorg-2.jar:]

                at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:]

                at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]

                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

                at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]

                at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]

                at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]

                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]

                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]

                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]

                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]

                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]

                at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_20]

      Caused by: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory

                at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.7-jbossorg-2.jar:]

                ... 24 more

      Caused by: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory

                at proyecto2.proy.controller.PruebaController.miFuncion(PruebaController.java:59) [classes:]

                at proyecto2.proy.controller.PruebaController$Proxy$_$$_WeldClientProxy.miFuncion(PruebaController$Proxy$_$$_WeldClientProxy.java) [classes:]

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_20]

                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.6.0_20]

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.6.0_20]

                at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.6.0_20]

                at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]

                at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]

                at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

                at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

                at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.7-jbossorg-2.jar:]

                at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

                ... 25 more

      Caused by: java.lang.ClassNotFoundException: javax.smartcardio.TerminalFactory from [Module "deployment.proy.war:main" from Service Module Loader]

                at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)

                at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)

                at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)

                at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)

                at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)

                at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)

       

       

      I know where the problem is, but I don't know how to fix it. Can anyone help me?

       

      Thank you and sorry for my English.

        • 1. Re: javax.smartcardio in JBOSS 7.1
          ctomc

          Hi,

           

          this looks to be a bug in one of provided system modules.

           

          edit JBOSS_HOME/modules/javax/api/main/module.xml

           

          and add <path name="javax/smartcardio"/>

          to the paths.

          and it should work.

           

          I will make sure this is fixed for next release.

           

           

          --

          tomaz

          1 of 1 people found this helpful
          • 2. Re: javax.smartcardio in JBOSS 7.1
            joose

            I've already tried it. It perfectly works.

             

            Thank you very much.

            • 3. Re: javax.smartcardio in JBOSS 7.1
              hman

              Hi all, i using WildFly 15 and i receive the same error when try to use TerminalFactory:

              10:27:14,780 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /ClientLogic/app/engine/request: org.jboss.resteasy.spi.UnhandledException: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory

                  at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:78)

                  at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:222)

              ....

              Caused by: java.lang.NoClassDefFoundError: javax/smartcardio/TerminalFactory

                  at st.mrc.eng.clientlogic.Reader.GetReaders(Reader.java:13)

                  at st.mrc.eng.clientlogic.Manager_Engine.Process(Manager_Engine.java:59)

                  at st.mrc.eng.clientlogic.ServiceManager.request(ServiceManager.java:129)

                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                  at java.lang.reflect.Method.invoke(Method.java:498)

              ....

               

              I using java 1.8 openjdk on linux 64 distro (Mageia). If i try to use javax.smartcardio into a console application it work fine, problem occurs only when i use javax.smartcardio into WildFly.

               

              colud you help me ?