1 2 Previous Next 22 Replies Latest reply on Jun 8, 2011 3:37 PM by wolfgangknauf Go to original post
      • 15. Re: How to config auth.conf file into the client classpath?
        fernandoaugusto

        Wolfgang

        Could you help me with two questions?

         

        1. Why client-jse.jar goes inside the ear file? This should not be distributed to theworkstations manually or via java web start? My ear is not included theappClientJse.jar...


        <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" id="Application_ID" version="6">
          <display-name>contato-full</display-name>
          <module>
            <ejb>contato-ejb.jar</ejb>
          </module>
          <module>
            <web>
              <web-uri>contato-web.war</web-uri>
              <context-root>contato-web</context-root>
            </web>
          </module>
        </application>
        
        

         

         

        This may be related to my problem?

         

        2. In your other example had a JNDI parameter that I have not used - props.setProperty("j2ee.clientName", ...);

        Should I have used itThis may also be related with my problem?

        Regards.

        • 16. Re: How to config auth.conf file into the client classpath?
          wolfgangknauf

          Hi,

           

          question 1: what do you mean by "client-jse.jar" and "theappClientJse.jar"? Do they both mean "contato-ejb.jar"?

          The reason why the application client jar is bundled with the EAR file is that the server has to parse the client JAR to detect whether it needs to "prepare" things... (see question 2 ;-))

           

          question 2: the "j2ee.clientName" is JBoss specific. For an application client, the server has to prepare an "Environment naming context", which is bound to a specific client name. See this wiki article for some basics: http://community.jboss.org/wiki/J2EEClient

          The client name itself must be specified in a deployment descriptor "jboss-client.xml" (see my sample EAR for the correct DTD), and the code sets this client name to the JNDI properties.

           

          Hope this helps

           

          Wolfgang

          • 17. Re: How to config auth.conf file into the client classpath?
            fernandoaugusto

            Hi Wolfgang

             

            I've added client-swing jar inside ear file. My application.xml now  so this:

             

            <?xml version="1.0" encoding="UTF-8"?>
            <application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" id="Application_ID" version="6">
              <display-name>contato-full</display-name>
              <module>
                <ejb>contato-ejb.jar</ejb>
              </module>
              <module>
                <web>
                  <web-uri>contato-web.war</web-uri>
                  <context-root>contato-web</context-root>
                </web>
              </module>
              <module>
                <java>contato-cliente.jar</java>
              </module>
            </application>
            

             

            Now I am getting error on deploy

             

            14:10:16,634 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to PostClassLoader: name=vfs:///D:/workspace/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_6.0_Server1307465490110/deploy/contato-full.ear state=ClassLoader mode=Manual requiredState=PostClassLoader: org.jboss.deployers.spi.DeploymentException: Cannot process metadata
                      at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) [:2.2.0.GA]
                      at org.jboss.deployment.AnnotationMetaDataDeployer.deploy(AnnotationMetaDataDeployer.java:188) [:6.0.0.Final]
                      at org.jboss.deployment.AnnotationMetaDataDeployer.deploy(AnnotationMetaDataDeployer.java:95) [:6.0.0.Final]
                      at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1832) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1550) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1603) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1491) [:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.change(DeployersImpl.java:1983) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:1076) [:2.2.0.GA]
                      at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:679) [:2.2.0.GA]
                      at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.process(MainDeployerPlugin.java:106) [:6.0.0.Final]
                      at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.process(ProfileControllerContext.java:143) [:0.2.2]
                      at org.jboss.profileservice.dependency.ProfileDeployAction.deploy(ProfileDeployAction.java:151) [:0.2.2]
                      at org.jboss.profileservice.dependency.ProfileDeployAction.installActionInternal(ProfileDeployAction.java:94) [:0.2.2]
                      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA]
                      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:379) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:2044) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:1083) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.executeOrIncrementStateDirectly(AbstractController.java:1322) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1246) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1139) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:939) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:654) [jboss-dependency.jar:2.2.0.GA]
                      at org.jboss.profileservice.dependency.ProfileActivationWrapper$BasicProfileActivation.start(ProfileActivationWrapper.java:190) [:0.2.2]
                      at org.jboss.profileservice.dependency.ProfileActivationWrapper.start(ProfileActivationWrapper.java:87) [:0.2.2]
                      at org.jboss.profileservice.dependency.ProfileActivationService.activateProfile(ProfileActivationService.java:215) [:0.2.2]
                      at org.jboss.profileservice.dependency.ProfileActivationService.activate(ProfileActivationService.java:159) [:0.2.2]
                      at org.jboss.profileservice.AbstractProfileService.activateProfile(AbstractProfileService.java:154) [:0.2.2]
                      at org.jboss.system.tools.ProfileServiceToolsFacade.addURI(ProfileServiceToolsFacade.java:233) [:6.0.0.Final]
                      at org.jboss.system.tools.LegacyDeploymentScannerAdapter.addURL(LegacyDeploymentScannerAdapter.java:140) [:6.0.0.Final]
                      at org.jboss.system.tools.DeploymentScanner.addURL(DeploymentScanner.java:91) [:6.0.0.Final]
                      at org.jboss.system.tools.DeploymentScanner.addURL(DeploymentScanner.java:83) [:6.0.0.Final]
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_18]
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_18]
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_18]
                      at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_18]
                      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157) [:6.0.0.GA]
                      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96) [:6.0.0.GA]
                      at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) [:6.0.0.GA]
                      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:271) [:6.0.0.GA]
                      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:670) [:6.0.0.GA]
                      at org.jboss.system.server.jmx.MBeanServerWrapper.invoke(MBeanServerWrapper.java:138) [:6.0.0.Final (Build SVNTag:JBoss_6.0.0.Final date: 20101228)]
                      at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1426) [:1.6.0_18]
                      at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) [:1.6.0_18]
                      at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1264) [:1.6.0_18]
                      at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1359) [:1.6.0_18]
                      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) [:1.6.0_18]
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_18]
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_18]
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_18]
                      at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_18]
                      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) [:1.6.0_18]
                      at sun.rmi.transport.Transport$1.run(Transport.java:159) [:1.6.0_18]
                      at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_18]
                      at sun.rmi.transport.Transport.serviceCall(Transport.java:155) [:1.6.0_18]
                      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) [:1.6.0_18]
                      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) [:1.6.0_18]
                      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) [:1.6.0_18]
                      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_18]
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_18]
                      at java.lang.Thread.run(Thread.java:619) [:1.6.0_18]
            Caused by: java.lang.ClassNotFoundException: Main from BaseClassLoader@1420a24{vfs:///D:/workspace/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_6.0_Server1307465490110/deploy/contato-full.ear}
                      at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:480) [jboss-classloader.jar:2.2.0.GA]
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:248) [:1.6.0_18]
                      at org.jboss.deployment.OptAnnotationMetaDataDeployer.processJBossClientMetaData(OptAnnotationMetaDataDeployer.java:89) [:6.0.0.Final]
                      at org.jboss.deployment.OptAnnotationMetaDataDeployer.processMetaData(OptAnnotationMetaDataDeployer.java:72) [:6.0.0.Final]
                      at org.jboss.deployment.AnnotationMetaDataDeployer.deploy(AnnotationMetaDataDeployer.java:184) [:6.0.0.Final]
                      ... 72 more
            

             

            I'm lost ... I was trying to add the client jar to see if authentication worked....

            When I remove the client jar from ear project, the JSF and EJB layers back to work again....


            • 18. Re: How to config auth.conf file into the client classpath?
              wolfgangknauf

              Hi Fernando,

               

              it seems that a class "Main.class" is not found. It should probably be part of your client jar, and "Manifest.mf" of the client jar should reference it.

               

              Any chance that you can post your full ear file including sources?

               

              Best regards

               

              Wolfgang

              • 19. Re: How to config auth.conf file into the client classpath?
                fernandoaugusto

                Hi Wolfgang

                 

                You're right! My manifest file that was wrong. I fixed and deploy work again.Now I'm with my aplication.xml configured to load all modules - EJB, JSF and Swing. I tried to access the EJB via the swing but the error continues .....

                I do not understand this? Now I'm putting swing jar into the EAR file but I'm running version from within Eclipse and not from within the server?

                 

                Let me explain how I'm doing:

                1 - I deploy the EAR using Eclipse - Run as -> Run on Server.

                2 - I open a browser and use the JSF application. The JSF application opens the option box for me to authenticate using HTTP BASIC. I put the credentials and access the faces pages and EJB successfully.

                3 - I run the application inside eclipse swing via the Run -> Java Application

                4 - The application runs with sucess, generating the proxy for the EJB.

                5 - When I try to call an EJB method is generated exception:

                 

                javax.ejb.EJBAccessException: Invalid User

                 

                6 - Inside the server is generated exception:

                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] initialize
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Security domain: contato-seg
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] DatabaseServerLoginModule, dsJndiName=java:/contatoDS
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] principalsQuery=select passwd from USERS where login=?
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] rolesQuery=select role, 'Roles' from USER_ROLES where login=?
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendResume=true
                17:18:25,906 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] login
                17:18:25,907 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Authenticating as unauthenticatedIdentity=null
                17:18:25,907 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendAnyTransaction
                17:18:25,907 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Excuting query: select passwd from USERS where login=?, with username: null
                17:18:25,908 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Query returned no matches from db
                17:18:25,908 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] resumeAnyTransaction
                17:18:25,910 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] abort
                17:18:25,910 TRACE [org.jboss.security.plugins.auth.JaasSecurityManagerBase.contato-seg] Login failure: javax.security.auth.login.FailedLoginException: No matching username found in Principals
                  at org.jboss.security.auth.spi.DatabaseServerLoginModule.getUsersPassword(DatabaseServerLoginModule.java:184) [:3.0.0.CR2]
                  at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:245) [:3.0.0.CR2]
                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_18]
                  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_18]
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_18]
                  at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_18]
                  at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) [:1.6.0_18]
                  at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) [:1.6.0_18]
                  at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [:1.6.0_18]
                  at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_18]
                  at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) [:1.6.0_18]
                  at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [:1.6.0_18]
                  at org.jboss.security.plugins.auth.JaasSecurityManagerBase.defaultLogin(JaasSecurityManagerBase.java:553) [:3.0.0.CR2]
                  at org.jboss.security.plugins.auth.JaasSecurityManagerBase.authenticate(JaasSecurityManagerBase.java:487) [:3.0.0.CR2]
                  at org.jboss.security.plugins.auth.JaasSecurityManagerBase.isValid(JaasSecurityManagerBase.java:365) [:3.0.0.CR2]
                  at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:160) [:6.0.0.Final]
                  at org.jboss.security.javaee.EJBAuthenticationHelper.isValid(EJBAuthenticationHelper.java:87) [:3.0.0.CR2]
                  at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:160) [:1.7.17]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) [:1.7.17]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.7.17]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.7.17]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.7.17]
                  at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:392) [:1.7.17]
                  at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53) [:1.7.17]
                  at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91) [jboss-aop.jar:2.2.1.GA]
                  at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82) [:1.0.1.GA]
                  at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:898) [:6.0.0.Final]
                  at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791) [:6.0.0.Final]
                  at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744) [:6.0.0.Final]
                  at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548) [:6.0.0.Final]
                  at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234) [:6.0.0.Final] 
                17:18:25,911 TRACE [org.jboss.security.plugins.auth.JaasSecurityManagerBase.contato-seg] End isValid, false
                



                I do not know what to do .....


                • 20. Re: How to config auth.conf file into the client classpath?
                  wolfgangknauf

                  According to the exception, I would guess that the username did not make it to the login module. But I think we checked all the steps of your client login twice. Could you post the full app?

                   

                  I could also offer to sent it to my private mail if you don't want to post it here, but as I am on vacation for the weekend, there would be no quick reply.

                   

                  Best regards

                   

                  Wolfgang

                  • 21. Re: How to config auth.conf file into the client classpath?
                    fernandoaugusto

                    It's okay if I do not bother you .... by the way, where do I get your email?

                    • 22. Re: How to config auth.conf file into the client classpath?
                      wolfgangknauf

                      wolfgang DOT knauf AT gmx DOT de

                       

                      Try to keep the sample small. I have quite slow internet at home, and it is more than 20MB, then let us try another way...

                       

                      This my last computer usage until monday ;-).

                      1 2 Previous Next