Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-7288

Remote method invocation fails in ejb-remote quickstart client application

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.1.0.DR14
    • 7.1.0.DR8, 7.1.0.DR9, 7.1.0.DR10, 7.1.0.DR11, 7.1.0.DR12, 7.1.0.DR13
    • Quickstarts
    • None

      When following the instructions for ejb-remote quickstart application, step Build and Deploy the Quickstart - Build and run the client application currently produces ERROR which prevents further execution of the application. As the quickstart applications are supposed to expose features to users, this is a functional blocker. However, it is not caused by error in quickstart itself, but rather by wrong implementation of feature it presents. Quickstarts are expected to run when following the instructions in the quickstart readme file.

      [mjurc@tigris client]$ mvn exec:exec
      [INFO] Scanning for projects...
      [INFO]                                                                         
      [INFO] ------------------------------------------------------------------------
      [INFO] Building JBoss EAP Quickstart: ejb-remote - client 7.1.0.Alpha1
      [INFO] ------------------------------------------------------------------------
      [INFO] 
      [INFO] --- exec-maven-plugin:1.2.1:exec (default-cli) @ jboss-ejb-remote-client ---
      Nov 15, 2016 10:39:15 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 3.0.0.Beta2
      Obtained a remote stateless calculator for invocation
      Adding 204 and 340 via the remote stateless calculator deployed on the server
      Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/modules/ModuleLoadException
      	at org.jboss.remoting3.EndpointBuilder.build(EndpointBuilder.java:117)
      	at org.jboss.remoting3.RemotingXmlParser.parseEndpoint(RemotingXmlParser.java:53)
      	at org.jboss.remoting3.ConfigurationEndpointSupplier.lambda$static$0(ConfigurationEndpointSupplier.java:44)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.jboss.remoting3.ConfigurationEndpointSupplier.<clinit>(ConfigurationEndpointSupplier.java:42)
      	at org.wildfly.common.context.ContextManager.setGlobalDefaultSupplierIfNotSet(ContextManager.java:108)
      	at org.jboss.remoting3.Endpoint.lambda$static$0(Endpoint.java:58)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.jboss.remoting3.Endpoint.<clinit>(Endpoint.java:56)
      	at org.jboss.ejb.client.remoting.EndpointPool.getEndpoint(EndpointPool.java:89)
      	at org.jboss.ejb.client.remoting.RemotingEndpointManager.getEndpoint(RemotingEndpointManager.java:49)
      	at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:136)
      	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:279)
      	at org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:289)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      Caused by: java.lang.ClassNotFoundException: org.jboss.modules.ModuleLoadException
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 21 more
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 0.860 s
      [INFO] Finished at: 2016-11-15T10:39:15+01:00
      [INFO] Final Memory: 8M/236M
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project jboss-ejb-remote-client: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
      [ERROR] 
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR] 
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
      

      Executing step Build and Run The Quickstart as an Executable JAR - You can then run the executable JAR using the java -jar command. You will see the same console output as above. produces the following error:

      [mjurc@tigris client]$ java -jar target/jboss-ejb-remote-client-jar-with-dependencies.jar
      Nov 15, 2016 10:39:53 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 3.0.0.Beta2
      Obtained a remote stateless calculator for invocation
      Adding 204 and 340 via the remote stateless calculator deployed on the server
      Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/modules/ModuleLoadException
      	at org.jboss.remoting3.EndpointBuilder.build(EndpointBuilder.java:117)
      	at org.jboss.remoting3.RemotingXmlParser.parseEndpoint(RemotingXmlParser.java:53)
      	at org.jboss.remoting3.ConfigurationEndpointSupplier.lambda$static$0(ConfigurationEndpointSupplier.java:44)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.jboss.remoting3.ConfigurationEndpointSupplier.<clinit>(ConfigurationEndpointSupplier.java:42)
      	at org.wildfly.common.context.ContextManager.setGlobalDefaultSupplierIfNotSet(ContextManager.java:108)
      	at org.jboss.remoting3.Endpoint.lambda$static$0(Endpoint.java:58)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at org.jboss.remoting3.Endpoint.<clinit>(Endpoint.java:56)
      	at org.jboss.ejb.client.remoting.EndpointPool.getEndpoint(EndpointPool.java:89)
      	at org.jboss.ejb.client.remoting.RemotingEndpointManager.getEndpoint(RemotingEndpointManager.java:49)
      	at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:136)
      	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:279)
      	at org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:289)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      Caused by: java.lang.ClassNotFoundException: org.jboss.modules.ModuleLoadException
      	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	... 21 more
      

      Upon manually wiring the missing dependency, the following error is still produced:

      [mjurc@tigris client]$ mvn exec:exec
      [INFO] Scanning for projects...
      [INFO]                                                                         
      [INFO] ------------------------------------------------------------------------
      [INFO] Building JBoss EAP Quickstart: ejb-remote - client 7.1.0.Alpha1
      [INFO] ------------------------------------------------------------------------
      [INFO] 
      [INFO] --- exec-maven-plugin:1.2.1:exec (default-cli) @ jboss-ejb-remote-client ---
      Nov 15, 2016 10:41:38 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 3.0.0.Beta2
      Obtained a remote stateless calculator for invocation
      Adding 204 and 340 via the remote stateless calculator deployed on the server
      Nov 15, 2016 10:41:38 AM org.jboss.remoting3.EndpointImpl <clinit>
      INFO: JBoss Remoting version 5.0.0.Beta7
      Nov 15, 2016 10:41:38 AM org.xnio.Xnio <clinit>
      INFO: XNIO version 3.4.1.Final-redhat-1
      Nov 15, 2016 10:41:38 AM org.xnio.nio.NioXnio <clinit>
      INFO: XNIO NIO Implementation Version 3.4.1.Final-redhat-1
      Nov 15, 2016 10:41:38 AM org.wildfly.security.Version <clinit>
      INFO: ELY00001: WildFly Elytron version 1.1.0.Beta13
      Nov 15, 2016 10:41:38 AM org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector setupEJBReceivers
      WARN: Could not register a EJB receiver for connection to localhost:8080
      javax.security.sasl.SaslException: Authentication failed: none of the mechanisms presented by the server are supported
      	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:391)
      	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:225)
      	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:89)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:567)
      	at ...asynchronous invocation...(Unknown Source)
      	at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:438)
      	at org.jboss.ejb.client.remoting.EndpointPool$PooledEndpoint.connect(EndpointPool.java:173)
      	at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:194)
      	at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:150)
      	at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:81)
      	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:279)
      	at org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:289)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      
      Exception in thread "main" java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:jboss-ejb-remote-server-side, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@3ecd23d9
      	at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:774)
      	at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
      	at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 1.275 s
      [INFO] Finished at: 2016-11-15T10:41:38+01:00
      [INFO] Final Memory: 9M/298M
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project jboss-ejb-remote-client: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
      [ERROR] 
      [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
      [ERROR] Re-run Maven using the -X switch to enable full debug logging.
      [ERROR] 
      [ERROR] For more information about the errors and possible solutions, please read the following articles:
      [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
      
      [mjurc@tigris client]$ java -jar target/jboss-ejb-remote-client-jar-with-dependencies.jar
      Nov 15, 2016 10:42:16 AM org.jboss.ejb.client.EJBClient <clinit>
      INFO: JBoss EJB Client version 3.0.0.Beta2
      Obtained a remote stateless calculator for invocation
      Adding 204 and 340 via the remote stateless calculator deployed on the server
      Nov 15, 2016 10:42:16 AM org.jboss.remoting3.EndpointImpl <clinit>
      INFO: JBoss Remoting version 5.0.0.Beta7
      Nov 15, 2016 10:42:16 AM org.xnio.Xnio <clinit>
      INFO: XNIO version 3.4.1.Final-redhat-1
      Nov 15, 2016 10:42:16 AM org.xnio.nio.NioXnio <clinit>
      INFO: XNIO NIO Implementation Version 3.4.1.Final-redhat-1
      Nov 15, 2016 10:42:16 AM org.wildfly.security.Version <clinit>
      INFO: ELY00001: WildFly Elytron version 1.1.0.Beta13
      Nov 15, 2016 10:42:16 AM org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector setupEJBReceivers
      WARN: Could not register a EJB receiver for connection to localhost:8080
      javax.security.sasl.SaslException: Authentication failed: none of the mechanisms presented by the server are supported
      	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:391)
      	at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:225)
      	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:89)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:567)
      	at ...asynchronous invocation...(Unknown Source)
      	at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:438)
      	at org.jboss.ejb.client.remoting.EndpointPool$PooledEndpoint.connect(EndpointPool.java:173)
      	at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:194)
      	at org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:150)
      	at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:81)
      	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:279)
      	at org.jboss.ejb.client.EJBClientContext.requireCurrent(EJBClientContext.java:289)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:178)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      
      Exception in thread "main" java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:jboss-ejb-remote-server-side, distinctName:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@7a9273a8
      	at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:774)
      	at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
      	at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:255)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:200)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:183)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:146)
      	at com.sun.proxy.$Proxy0.add(Unknown Source)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.invokeStatelessBean(RemoteEJBClient.java:57)
      	at org.jboss.as.quickstarts.ejb.remote.client.RemoteEJBClient.main(RemoteEJBClient.java:38)
      

              tomazcerar Tomaž Cerar (Inactive)
              mjurc@redhat.com Michal Jurc
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: