2017-09-20 1 views
0

Environnement - WAS 7.0 et EJB 2.1Websphere 7 et EJB 2.1 - Nom JNDI non spécifié

J'ai un EAR avec le fichier jar EJB. Il a quelques EJB distants (EJB 2.1) que je veux convertir en EJB local. Par conséquent, j'ai dû modifier ejb-jar.xml selon ma compréhension.

Mon fichier xml modifié ejb-jar est la suivante:

<ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"> 
.... 
... 
<session id="Manager"> 
      <ejb-name>Manager</ejb-name> 
      <home>com.aa.bb.ManagerHome</home> 
      <remote>com.aa.bb.ManagerRemote</remote> 
      <ejb-class>com.aa.bb.Manager</ejb-class> 
      <session-type>Stateless</session-type> 
      <transaction-type>Container</transaction-type> 
      <local-home>com.aa.bb.ManagerLocalHome</local-home> 
      <local>com.aa.bb.ManagerLocal</local> 
      <ejb-local-ref id="EJBLocalRef_1139997836094"> 
       <ejb-ref-name>ejb/ManagerLocalHome</ejb-ref-name> 
       <ejb-ref-type>Session</ejb-ref-type> 
       <local-home>com.aa.bb.ManagerLocalHome</local-home> 
       <local>com.aa.bb.ManagerLocal</local> 
       <ejb-link>Manager</ejb-link> 
      </ejb-local-ref> 

et sont nouvellement ajoutés des tags pour le ejb local.

Et mon dossier est Manchettes comme suit: -

<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1107442316219"> 
       <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/> 
       ..... 
       ..... 
      <ejbBindings xmi:id="EnterpriseBeanBinding_1142021363669" jndiName="ejb/ManagerLocalHome"> 
       <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#Manager"/> 
       <resRefBindings xmi:id="ResourceRefBinding_1315855161720" jndiName="OraDataSource"> 
        <bindingResourceRef href="META-INF/ejb-jar.xml#ResourceRef_1142023723001"/> 
       </resRefBindings> 
      </ejbBindings> 

Pendant deploy du fichier EAR je reçois l'erreur suivante -

com.ibm.websphere.management.application.client.AppDeploymentException: ADMA0014E: La validation a échoué. ADMA0007E: Une erreur de validation s'est produite dans la tâche Mappage des références EJB aux beans enterprise.
Le nom JNDI (Java Naming and Directory Interface) n'est pas spécifié pour la liaison de référence ejb/ManagerLocalHome dans le module ZZZZZ avec le gestionnaire de noms EJB.

Une idée de pourquoi il se plainterait de JNDI quand il a été défini? Ai-je raté quelque chose?

Répondre

0

Il semble que jndiName devrait jndiName = "ejb/Manager" dans le fichier de liaison et il a commencé à fonctionner pour moi. J'ai dû le lancer mais la recherche fonctionne maintenant.