Question

J'ai 2 applications - une oreille contenant EJB3.0 et d'autres clients de son ressort. Tous deux déployés sur un même serveur d'applications Websphere 7 instance à savoir même machine virtuelle Java.

Voici quelques pièces du client:

applicationContext.xml:

<bean id="ruleService" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
    <property name="jndiName" value="com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness"/>
    <property name="businessInterface" value="com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness"/>
    <property name="jndiEnvironment">  
          <props>  
             <prop key="java.naming.factory.initial">com.ibm.websphere.naming.WsnInitialContextFactory</prop>  
             <prop key="java.naming.provider.url">corbaloc:iiop:localhost:2809</prop>  
             </props>  
        </property>  
</bean>

extrait de code client:

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
Customer_Management_Service_JavaBusiness ruleService 
                    = (Customer_Management_Service_JavaBusiness)ctx.getBean("ruleService");

Cela fonctionne très bien. l'accès EJB déployé dans d'autres applications dans un même conteneur, fonctionne.

Mais il ne fonctionne pas si je propose que le client à une autre machine dans le même réseau et URL juste fournisseur de changement et donner la place IP de serveur distant de localhost. Le problème de JNDI se produit

Erreur exacte: Erreur 500: org.springframework.beans.factory.BeanCreationException: Erreur de création de haricot avec le nom « ruleService » défini dans le chemin de classe ressource [applicationContext.xml]: Invocation de la méthode init échoué; exception imbriquée est javax.naming.NameNotFoundException: Contexte: CFSDDVM2399Node01Cell / noeuds / CFSDDVM2399Node01 / serveurs / server1, nom: com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness: Premier composant nom com.ecrd.ruleservice.Customer_Management_Service_JavaBusiness introuvable. [Exception des racines est org.omg.CosNaming.NamingContextPackage.NotFound: IDL: omg.org/CosNaming/NamingContext/NotFound: 1,0]

Je ne peux pas comprendre ce qui change (et où) sont nécessaires pour se connecter à EJB hébergé dans différentes JVM du serveur. Toute aide ou suggestion sont les bienvenus.

Était-ce utile?

La solution

moi-même Répondre. L'erreur est résolu. Je travaille sur la machine virtuelle. Toutes les images de développeurs ont été copiés à partir d'une machine virtuelle particulière et que portées sur WAS configs (nom d'hôte, la cellule, le noeud etc) avec elle. Accès à distance travaillé après avoir fixé toutes les occurrences de noms d'hôte dans serverindex.xml du serveur EJB hébergement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top