<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Unable to access EJB from a second JBOSS 7.1 server instance
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/amitsoprna">Amit Sharma</a> in <i>JNDI and Naming</i> - <a href="https://community.jboss.org/message/749623#749623">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>We have a Utility class with the following code inside it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>private static Hashtable&lt;String, String&gt; initContextEnv = new Hashtable&lt;String, String&gt;();</p><p>private static final String PKG_INTERFACES = "org.jboss.ejb.client.naming";</p><p>public static final String PROPERTY_PROVIDER_URL_VALUE = "remote://localhost:4447";</p><p>public static final String JNDI_PREFIX = "ejb:my_beans/my_beans//";</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>initContextEnv.put(Context.URL_PKG_PREFIXES, PKG_INTERFACES);</p><p>initContextEnv.put(Context.PROVIDER_URL, PROPERTY_PROVIDER_URL_VALUE);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>initialContext = new InitialContext(initContextEnv);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160;&#160;&#160; public final &lt;T&gt; T getEJB(Class&lt;T&gt; beanClass) throws NamingException {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; String ejbName = beanClass.getSimpleName() + IMPL;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; String remoteInterfaceName = beanClass.getName();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; String jndiName = JNDI_PREFIX + ejbName + "!" + remoteInterfaceName;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; Object ref = initialContext.lookup(jndiName);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160; return beanClass.cast(ref);<br/>&#160;&#160;&#160; }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>All my stateless session beans are there in the my_beans.jar file which is deployed on server instance 1 as below:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Server instance1</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>my_beans.ear</p><p>&#160; |---------------my_beans.jar</p><p>&#160; |---------------my_persistence_beans.jar</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><strong>When I deploy my second application on the same server instance then it works fine</strong> and I am able to succesfully invoke methods on these stateless session beans <strong>using the above utility class.</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Server instance 1</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>my_application_one.ear</p><p> |---------------my_application.war</p><p> |---------------META_INF</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |----------------jboss-deployment-structure.xml</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Wherein the jboss-deployment-structure.xml has the following contents:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&lt;?xml version='1.0' encoding='UTF-8'?&gt;</p><p>&lt;jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1"&gt;</p><p>&#160; &lt;ear-subdeployments-isolated&gt;false&lt;/ear-subdeployments-isolated&gt;</p><p>&#160; &lt;deployment&gt;</p><p>&#160;&#160;&#160; &lt;dependencies&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;module name="deployment.my_beans.ear.my_beans.jar" export="true" /&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;module name="deployment.my_beans.ear.my_persistence_beans.jar" export="true" /&gt;</p><p>&#160;&#160;&#160; &lt;/dependencies&gt;</p><p>&#160; &lt;/deployment&gt;</p><p>&lt;/jboss-deployment-structure&gt;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>But when I try to invoke methods on these stateless session beans from other server instance it throws an exception </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Server Instance 2:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>my_application2.ear</p><p>&#160;&#160;&#160;&#160; |----------------my_application2.war</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |------------WEB-INF</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |--------lib</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; |--------my_jar_containing_remote_interfaces_of_stateles_session_beans_and_utility_class.jar</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span>07:56:44,086 ERROR [tv.blackarrow.apt.web.controllers.LoginController] (http-192.168.149.129-192.168.149.129-8580-2) Authenticating user with emailAddress = </span><a class="jive-link-email-small" href="mailto:aptadmin1@blackarrow.tv" target="_blank">aptadmin1@blackarrow.tv</a><span>: java.lang.IllegalStateException: </span><strong>No EJB receiver available for handling [appName:my_beans,modulename:my_beans,distinctname:] </strong>combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@456c56</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at $Proxy24.login(Unknown Source)&#160;&#160;&#160;&#160;&#160;&#160; at tv.blackarrow.services.client.AuthenticationClientImpl.login(AuthenticationClientImpl.java:59) [ba_services_client.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at tv.blackarrow.apt.web.controllers.LoginController.handleRequest(LoginController.java:86) [blackarrow-apt.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) [spring-webmvc.jar:2.5]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874) [spring-webmvc.jar:2.5]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808) [spring-webmvc.jar:2.5]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) [spring-webmvc.jar:2.5]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441) [spring-webmvc.jar:2.5]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at tv.blackarrow.apt.web.filters.BAEncodingAndClientCacheFilter.doFilter(BAEncodingAndClientCacheFilter.java:65) [blackarrow-apt.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_07]</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>What am I missing here? Do I need to include some jar? I have tried various ways to access EJBs by googling and implementing those solutions but nothing was fruitful. Need some directions <span> :( </span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>attached is my standalone.xml file.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I am using JBOSS7.1 migrating my application from JBOSS4.2. I have created the second server instance by copying the standalone folder of JBOSS. and then giving the server base directory while starting the second server instance as the renamed and copied standalone folder.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/749623#749623">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JNDI and Naming at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2083">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>