Application Server 3  4  5 and 6
  1. Application Server 3 4 5 and 6
  2. JBAS-6620 JON/Open Console Issues
  3. JBAS-6982

unable to connect to Profile Service remotely using EJB remote interface

    Details

    • Similar Issues:
      Show 10 results 

      Description

      The non-EJB remote interface is working, with the exception of the various class loading exceptions. The EJB interface is not, due to an authentication failure, but I think it used to work.

      Here's the log output showing me doing the JNDI lookup of the EJB proxies:

      DEBUG 27-05 12:40:03,988 (RemoteProfileServiceConnectionProvider.java:doConnect:90) -Connecting to Profile Service via remote JNDI using env [

      {java.naming.factory.initial=org.jboss.security.jndi.JndiLoginInitialContextFactory, java.naming.provider.url=jnp://127.0.0.1:1099, java.naming.security.principal=javaduke, java.naming.security.credentials=anotherduke}

      ]...
      DEBUG 27-05 12:40:03,988 (AbstractProfileServiceConnectionProvider.java:createInitialContext:74) -Creating JNDI InitialContext with env [

      {java.naming.factory.initial=org.jboss.security.jndi.JndiLoginInitialContextFactory, java.naming.provider.url=jnp://127.0.0.1:1099, java.naming.security.principal=javaduke, java.naming.security.credentials=anotherduke}

      ]...
      DEBUG 27-05 12:40:04,004 (Logger.java:debug:228) -Using ThreadLocal: false
      DEBUG 27-05 12:40:04,035 (AbstractProfileServiceConnectionProvider.java:createInitialContext:83) -Created JNDI InitialContext [javax.naming.InitialContext@1ccb029].
      DEBUG 27-05 12:40:04,035 (Logger.java:debug:228) -createSocket, hostAddr: /127.0.0.1, port: 1099, localAddr: null, localPort: 0, timeout: 0
      DEBUG 27-05 12:40:04,191 (Logger.java:debug:228) -org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory servicing request for SecureProfileService/remote
      DEBUG 27-05 12:40:04,254 (Logger.java:debug:228) -SocketClientInvoker[3820e, socket://MAINFRAME:3873] constructed
      DEBUG 27-05 12:40:04,254 (Logger.java:debug:228) -SocketClientInvoker[3820e, socket://MAINFRAME:3873] connecting
      DEBUG 27-05 12:40:04,254 (Logger.java:debug:228) -Creating semaphore with size 50
      DEBUG 27-05 12:40:04,254 (Logger.java:debug:228) -SocketClientInvoker[3820e, socket://MAINFRAME:3873] connected
      DEBUG 27-05 12:40:04,269 (Logger.java:debug:228) -Could not load JBoss Serialization. Use Java Serialization default.
      DEBUG 27-05 12:40:04,269 (Logger.java:debug:228) -Could not load JBoss Encrypted Serialization. Use Java Serialization default.
      DEBUG 27-05 12:40:04,301 (Logger.java:debug:228) -removed SocketClientInvoker[3820e, socket://MAINFRAME:3873] from registry
      DEBUG 27-05 12:40:04,301 (Logger.java:debug:228) -SocketClientInvoker[3820e, socket://MAINFRAME:3873] disconnecting ...
      DEBUG 27-05 12:40:04,301 (Logger.java:debug:228) -Created Proxy of type $Proxy1 for EJB3 Business Interface: org.jboss.profileservice.spi.ProfileService
      DEBUG 27-05 12:40:04,301 (Logger.java:debug:228) -org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory servicing request for SecureManagementView/remote
      DEBUG 27-05 12:40:04,301 (Logger.java:debug:228) -SocketClientInvoker[f4f44a, socket://MAINFRAME:3873] constructed
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -SocketClientInvoker[f4f44a, socket://MAINFRAME:3873] connecting
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -Creating semaphore with size 50
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -SocketClientInvoker[f4f44a, socket://MAINFRAME:3873] connected
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -removed SocketClientInvoker[f4f44a, socket://MAINFRAME:3873] from registry
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -SocketClientInvoker[f4f44a, socket://MAINFRAME:3873] disconnecting ...
      DEBUG 27-05 12:40:04,316 (Logger.java:debug:228) -Created Proxy of type $Proxy3 for EJB3 Business Interface: org.jboss.deployers.spi.management.ManagementView
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory servicing request for SecureDeploymentManager/remote
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] constructed
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] connecting
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -Creating semaphore with size 50
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] connected
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -removed SocketClientInvoker[12940b3, socket://MAINFRAME:3873] from registry
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] disconnecting ...
      DEBUG 27-05 12:40:04,332 (Logger.java:debug:228) -Created Proxy of type $Proxy5 for EJB3 Business Interface: org.jboss.deployers.spi.management.deploy.DeploymentManager
      DEBUG 27-05 12:40:04,348 (Logger.java:debug:228) -Couldn't handle invocation directly within org.jboss.ejb3.proxy.impl.handler.session.SessionRemoteProxyInvocationHandler@958bb8: Current invocation "public abstract boolean org.jboss.deployers.spi.management.ManagementView.load()" is not eligible for direct handling by org.jboss.ejb3.proxy.impl.handler.session.SessionRemoteProxyInvocationHandler@958bb8
      DEBUG 27-05 12:40:04,348 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] disconnecting ...
      DEBUG 27-05 12:40:04,348 (Logger.java:debug:228) -SocketClientInvoker[12940b3, socket://MAINFRAME:3873] disconnecting ...
      DEBUG 27-05 12:40:04,348 (Logger.java:debug:228) -Received invocation request to method org.jboss.deployers.spi.management.ManagementView: org.jboss.deployers.spi.management.ManagementView.load(); using hash: -657996635075089079
      DEBUG 27-05 12:40:04,363 (Logger.java:debug:228) -SocketClientInvoker[18b81e3, socket://MAINFRAME:3873] constructed
      DEBUG 27-05 12:40:04,363 (Logger.java:debug:228) -SocketClientInvoker[18b81e3, socket://MAINFRAME:3873] connecting
      DEBUG 27-05 12:40:04,363 (Logger.java:debug:228) -Creating semaphore with size 50
      DEBUG 27-05 12:40:04,363 (Logger.java:debug:228) -SocketClientInvoker[18b81e3, socket://MAINFRAME:3873] connected
      DEBUG 27-05 12:40:04,379 (Logger.java:debug:228) -removed SocketClientInvoker[18b81e3, socket://MAINFRAME:3873] from registry
      DEBUG 27-05 12:40:04,379 (Logger.java:debug:228) -SocketClientInvoker[18b81e3, socket://MAINFRAME:3873] disconnecting ...

      And here's the "EJBAccessException: Caller unauthorized" that occurs when I call load() on the ManagementView proxy:

      Exception in thread "main" javax.ejb.EJBAccessException: Caller unauthorized
      at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:199)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:421)
      at org.jboss.ejb3.session.InvokableContextClassProxyHack._dynamicInvoke(InvokableContextClassProxyHack.java:53)
      at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:91)
      at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)
      at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:744)
      at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:697)
      at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)
      at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
      at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:211)
      at org.jboss.remoting.Client.invoke(Client.java:1724)
      at org.jboss.remoting.Client.invoke(Client.java:629)
      at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
      at $Proxy7.invoke(Unknown Source)
      at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
      at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
      at $Proxy4.load(Unknown Source)
      at org.jboss.adminclient.connection.ProfileServiceConnectionImpl.<init>(ProfileServiceConnectionImpl.java:47)
      at org.jboss.adminclient.connection.RemoteProfileServiceConnectionProvider.doConnect(RemoteProfileServiceConnectionProvider.java:114)
      at org.jboss.adminclient.connection.AbstractProfileServiceConnectionProvider.connect(AbstractProfileServiceConnectionProvider.java:44)
      at org.jboss.adminclient.command.ConnectCommand.execute(ConnectCommand.java:73)
      at org.jboss.adminclient.AdminClientMain.processArguments(AdminClientMain.java:451)
      at org.jboss.adminclient.AdminClientMain.main(AdminClientMain.java:124)
      at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.security.client.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
      at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:62)
      at $Proxy7.invoke(Unknown Source)
      at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:207)
      at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:164)
      at $Proxy4.load(Unknown Source)
      at org.jboss.adminclient.connection.ProfileServiceConnectionImpl.<init>(ProfileServiceConnectionImpl.java:47)
      at org.jboss.adminclient.connection.RemoteProfileServiceConnectionProvider.doConnect(RemoteProfileServiceConnectionProvider.java:114)
      at org.jboss.adminclient.connection.AbstractProfileServiceConnectionProvider.connect(AbstractProfileServiceConnectionProvider.java:44)
      at org.jboss.adminclient.command.ConnectCommand.execute(ConnectCommand.java:73)
      at org.jboss.adminclient.AdminClientMain.processArguments(AdminClientMain.java:451)
      at org.jboss.adminclient.AdminClientMain.main(AdminClientMain.java:124)

        Issue Links

          Activity

          Hide
          Scott Stark
          added a comment -

          The required user was javaduke password = anotherduke, so I added admin user with password admin with the Adminstrator role as well. The org.jboss.test.profileservice.testsecure.ProfileServiceUnitTestCase which validates secured access via the ejbs.

          Show
          Scott Stark
          added a comment - The required user was javaduke password = anotherduke, so I added admin user with password admin with the Adminstrator role as well. The org.jboss.test.profileservice.testsecure.ProfileServiceUnitTestCase which validates secured access via the ejbs.
          Hide
          Ian Springer
          added a comment -

          I'm still getting a "javax.ejb.EJBAccessException: Caller unauthorized" using either set of credentials.

          It looks like the difference may be in the method I'm using to authenticate. I'm setting the principal and credentials in the env props I pass when creating the InitialContext. My client code is at:

          https://svn.jboss.org/repos/jopr/trunk/etc/jbas5-ejb-client/src/main/java/test/EjbClient.java

          Whereas in:

          https://svn.jboss.org/repos/jbossas/branches/JBPAPP_5_0/testsuite/src/main/org/jboss/test/profileservice/testsecure/ProfileServiceUnitTestCase.java

          you are instead directly using JAAS to authenticate prior to doing the JNDI lookups. Is the method I'm using supposed to work or do I need to switch to the JAAS method?

          Show
          Ian Springer
          added a comment - I'm still getting a "javax.ejb.EJBAccessException: Caller unauthorized" using either set of credentials. It looks like the difference may be in the method I'm using to authenticate. I'm setting the principal and credentials in the env props I pass when creating the InitialContext. My client code is at: https://svn.jboss.org/repos/jopr/trunk/etc/jbas5-ejb-client/src/main/java/test/EjbClient.java Whereas in: https://svn.jboss.org/repos/jbossas/branches/JBPAPP_5_0/testsuite/src/main/org/jboss/test/profileservice/testsecure/ProfileServiceUnitTestCase.java you are instead directly using JAAS to authenticate prior to doing the JNDI lookups. Is the method I'm using supposed to work or do I need to switch to the JAAS method?
          Hide
          Scott Stark
          added a comment -

          Both approaches should work, so I added a test using the InitialContextFactory and I do see the error you do. I'm looking into that.

          Show
          Scott Stark
          added a comment - Both approaches should work, so I added a test using the InitialContextFactory and I do see the error you do. I'm looking into that.
          Hide
          Scott Stark
          added a comment -

          The issue was JBAS-7010, which I have fixed and the test using the JndiLoginInitialContextFactory is now passing

          Show
          Scott Stark
          added a comment - The issue was JBAS-7010 , which I have fixed and the test using the JndiLoginInitialContextFactory is now passing

            People

            • Assignee:
              Scott Stark
              Reporter:
              Ian Springer
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: