No EJB reciever available for handling combination for invocation
prashantwate May 23, 2016 10:54 AMHi,
I have a Client application which invokes remote EJBs on Wildfly 10 application server.
I use JAAS login with custom login module class configures in Standalone-full.xml. My Local calls from web application are working but I cannot connect client application via remote EJBs.
I am getting exception while debugging of Application of EJBCLIENT000025:No EJB receiver available for handling[appName:abc, moduleName:abc-ejb] combination for innvocation context org.jboss.ejb.client.EJBClientInnovationsContext@145a81.
Also logs from the client applications..
23/05/16 15:14:21 INFO [main]: Java version : 1.8.0_45
23/05/16 15:14:21 INFO [main]: Java vendor : Oracle Corporation
23/05/16 15:18:48 INFO [main]: XNIO version 3.3.4.Final
23/05/16 15:18:48 INFO [main]: XNIO NIO Implementation Version 3.3.4.Final
23/05/16 15:18:48 INFO [main]: JBoss Remoting version 4.0.18.Final
23/05/16 15:19:01 INFO [main]: JBoss EJB Client version 2.1.4.Final
23/05/16 15:19:36 WARN [main]: Could not register a EJB receiver for connection to localhost:8080
javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed:
at org.jboss.remoting3.remote.ClientConnectionOpenListener.allMechanismsFailed(ClientConnectionOpenListener.java:114)
at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:449)
at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:241)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:199)
at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:113)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:559)
at ...asynchronous invocation...(Unknown Source)
at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:294)
at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:416)
at org.jboss.ejb.client.remoting.EndpointPool$PooledEndpoint.connect(EndpointPool.java:192)
at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:153)
at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:133)
at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:78)
at org.jboss.ejb.client.remoting.RemotingConnectionManager.getConnection(RemotingConnectionManager.java:51)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:161)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.getCurrent(ConfigBasedEJBClientContextSelector.java:118)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.getCurrent(ConfigBasedEJBClientContextSelector.java:47)
at org.jboss.ejb.client.EJBClientContext.getCurrent(EJBClientContext.java:281)
at org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:291)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
I have following configuration - jndi.properties in Client classpath
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=http-remoting://localhost:8080
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
jboss.naming.client.ejb.context=true
Also the jboss-ejb-client.properties in Client classpath
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=4577
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=false
My Standalone-full.xml has
security-realm name="ManagementRealm">
<authentication>
<local default-user="$local" skip-group-loading="true"/>
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization map-groups-to-roles="false">
<properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
<security-realm name="ABCRealm">
<authentication>
<jaas name="ABCLoginRealm"/>
</authentication>
</security-realm>
</security-realms>
<audit-log>
<formatters>
....
<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
<security-domain name="ABCLoginRealm" cache-type="default">
<authentication>
<login-module code="Remoting" flag="optional">
<module-option name="password-stacking" value="useFirstPass"/>
</login-module>
<login-module code="xyz.LoginModule" flag="required"/>
</authentication>
</security-domain>
....
<subsystem xmlns="urn:jboss:domain:remoting:3.0">
<endpoint/>
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ABCRealm"/>
</subsystem>
All the required changes from different websites is done but still none of the configuration worked for me even i found the same issue with other developers as well
I set all the properties in jboss-ejb-client.properties and placed all required jar in classpath as well and jndi.properties is also set as required as per documentation
but nothing is worked .
I set jboss-ejb-client properties through clientside java programs as well but still getting the same issue.
I modified standalone.xml also but again same issue