1 Reply Latest reply on Feb 12, 2013 6:18 PM by M Mudu

    Migrate EAP5 to JBoss7 - remote invocation error

    M Mudu Newbie

      Hi this is my scenario,


      I am trying to migrate an app from JBoss5 to JBoss7.


      I am using jboss-as-7.1.1.Final.


      The error I am getting is:


      No EJB receiver available for handling [appName:,modulename:myapp-ejb,distinctname:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@6b9bb4bb

                at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]


      I have looked at serveral discussions with the same error message but I just cant figure out what I am doing wrong.


      In the standalone/deployments directory I have only one myapp.war. I do not deploy an .ear file. I have a dependency (myapp-ejb.jar) deployed as a module.


      I have followed the instructions from https://docs.jboss.org/author/display/AS71/How+do+I+migrate+my+application+from+AS5+or+AS6+to+AS7 in section "Migrate EAP 5 Deployed Applications That Make Remote Invocations to AS 7".



      In the myapp-ejb.jar I have a bunch of JNDI names like:


      public static final String ACCOUNT_REMOTE = "ejb:/myapp-ejb//AccountBean!com.company.myapp.ejb.account.AccountRemote";


      The JNDI lookup is done from the client by invoking this static method which is defined in myapp-ejb.jar:


      public static AccountRemote getAccountRemote() throws NamingException {

                          if (accountRemote == null){

                                         InitialContext ic = new InitialContext();

                                         Object ref = ic.lookup(JNDINames.ACCOUNT_REMOTE);

                                         accountRemote = (AccountRemote) PortableRemoteObject.narrow(ref, AccountRemote.class);


                          return accountRemote;



      All remote interfaces are for stateless EJB like:




      public class AccountBean implements AccountRemote {



      From the myapp.war I make a remote invocation to the myapp-ejb.jar using the above static method getAccountRemote().

      In the myapp.war/WEB-INF directory I have added a jndi.properties and a jboss-ejb-client.properties.


      The jndi.properties contains only one value:



      The jboss-ejb-client.properties contains:









      I have removed the security realm on remoting from the standalone.xml:


      <subsystem xmlns="urn:jboss:domain:remoting:1.1">

                <connector name="remoting-connector" socket-binding="remoting" />



      I have added the JBOSS_HOME/bin/client/jboss-client.jar to the myapp.war/WEB-INF/lib.


      The application deploys succesfully without any errors but when I launch localhost:8080 I get the No EJB receiver available for handling error.


      Does anyone knows what I have missed?  Any suggestions?


      Thanks in advance.