[jboss-jira] [JBoss JIRA] Reopened: (JBAS-6982) unable to connect to Profile Service remotely using EJB remote interface

Ian Springer (JIRA) jira-events at lists.jboss.org
Wed Jun 10 14:41:57 EDT 2009


     [ https://jira.jboss.org/jira/browse/JBAS-6982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ian Springer reopened JBAS-6982:
--------------------------------



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?


> unable to connect to Profile Service remotely using EJB remote interface
> ------------------------------------------------------------------------
>
>                 Key: JBAS-6982
>                 URL: https://jira.jboss.org/jira/browse/JBAS-6982
>             Project: JBoss Application Server
>          Issue Type: Sub-task
>      Security Level: Public(Everyone can see) 
>          Components: ProfileService
>    Affects Versions: JBossAS-5.1.0.GA
>            Reporter: Ian Springer
>            Assignee: Scott M Stark
>            Priority: Critical
>             Fix For: JBossAS-5.2.0.Beta1
>
>
> 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 at 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 at 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 at 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)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list