0 Replies Latest reply on May 23, 2016 10:54 AM by prashantwate

    No EJB reciever available for handling combination for invocation

    prashantwate

      Hi,

      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