EJB javax.naming.NameNotFoundException:

Hi,
I have EJB deployed in JRUN. I am trying to run Client program. It is giving the following error
javax.naming.NameNotFoundException: ejbT.test1Home not found
at allaire.ejipt._NamingContext.lookup(_NamingContext.java:73)
at allaire.ejipt._ClientContext.lookup(_ClientContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at ejbT.testClient.main(testClient.java:44)
I checked <ejb-name> in ejb-jar.xml and jrun-ejb-jar.xml file .. they are the same.
What can be the problem.
Can some please help me.
Thanks in advance.

Does the JNDI name in your client match that of your EJB?

Similar Messages

  • Javax.naming.NameNotFoundException: error in whil calling EJB Bean

    Dear friends,
    I have created (Bean Managed Entity) a remote,home and bean objects for adding a country in a database. When i convert
    into jar and and deploy means, its working fine. But if i put into a package means it does work
    and raise "javax.naming.NameNotFoundException" error.
    i keep my files as following folder structure
    d:\siva\projects\ShopCart\
    (under this )
    CountryMas.java
    CountryHome.java
    CountryBean.java
    CountryMasPK.java
    <meta-inf>
    ejb-jar.xml
    weblogic-ejb-jar.xml
    and deployed in weblogic 6.1 using console.
    i have copied the source code here with
    Remote interface
    package ShopCart;
    import javax.ejb.*;
    import javax.rmi.*;
    public interface CountryMas extends EJBObject {
    Home Interface
    package ShopCart;
    import javax.ejb.*;
    import java.rmi.*;
    public interface CountryHome extends EJBHome {
         public CountryMas create(String Cname) throws CreateException,RemoteException;
         public CountryMas findByPrimaryKey(CountryMasPK pk) throws      
    FinderException,RemoteException;
    BEAN OBJECT
    package ShopCart;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import javax.sql.*;
    import javax.ejb.*;
    import javax.naming.*;
    public class CountryBean implements EntityBean {
         private EntityContext ctx;
         private int CountryId;
         private String CountryName;
         public void setEntityContext(EntityContext ctx){
              this.ctx = ctx;
         public void unsetEntityContext(){
              this.ctx = null;
         public void ejbActivate(){
         public void ejbPassivate(){
         public void ejbLoad(){
         public void ejbStore(){
         public void ejbRemove(){
              Connection con = null;
              PreparedStatement ps = null ;
              try {
                   con = getConnection();
                   ps = con.prepareStatement("Delete from CountryMas where id=?");
                   ps.setInt(1,CountryId);
                   if (ps.executeUpdate() !=1) {
                        String Error = "JDBC did not create any row";
                        throw new CreateException (Error);
              }catch (Exception e){
                   System.out.println (e);
         public CountryMasPK ejbCreate(String Cname) throws CreateException {
              this.CountryName =Cname;
              Connection con = null;
              PreparedStatement ps = null ;
              try {
                   con = getConnection();
                   ps = con.prepareStatement("insert into CountryMas values(?)");
                   ps.setString (1,CountryName);
                   if (ps.executeUpdate() !=1) {
                        String Error = "JDBC did not delete any row";
                        throw new CreateException (Error);
                   con.commit();
              }catch (Exception e){
                   System.out.println (e);
              int PKid=0;
              ResultSet rs;
              PreparedStatement ps1 = null;
              try {
                   ps1 = con.prepareStatement("select max(id) as Mid from CountryMas");
                   rs = ps1.executeQuery();
                   PKid = rs.getInt("mid");
              }catch(Exception e){
                   System.out.println (e);
              return new CountryMasPK(PKid);
         public void ejbPostCreate(String Cname) throws CreateException {
         private Connection getConnection()throws SQLException {
              InitialContext initCtx = null;
              DataSource ds = null;
              try{
                   initCtx = new InitialContext ();
                   ds = (javax.sql.DataSource)
                        initCtx.lookup("java:comp/env/jdbc/ShopCartPool");
              }catch(Exception e){
                   System.out.println(e);
              return ds.getConnection();           
         public CountryMasPK ejbFindByPrimaryKey(CountryMasPK pk)throws ObjectNotFoundException {
              Connection con= null;
              PreparedStatement ps = null ;
              try{
                   con = getConnection();
                   ps = con.prepareStatement("select cname from CountryMas where id=?");
                   ps.setInt(1,pk.ID);
                   ps.executeQuery();
                   ResultSet rs= ps.getResultSet();
                   if (rs.next()){
                        this.CountryName = rs.getString(1);
              }catch(Exception e){
                   System.out.println(e);
              //return new CountryMasPK(pk.i);
              return pk;
    PRIMARY KEY OBJECT
    package ShopCart;
    import java.io.Serializable;
    public class CountryMasPK implements java.io.Serializable {
         public int ID;
         public CountryMasPK(int ID){
              this.ID =ID;
         public CountryMasPK(){
         public CountryMasPK(CountryMasPK pk){
                   this.ID = pk.ID;
         public String toString(){
                   return new Integer(ID).toString();
         public int hashCode(){
              return new Integer(ID).hashCode();
         public boolean equals(Object countrymas){
              //return ((CountryMasPK)countrymas).ID.equals(ID);
              return true;
    EJB-JAR.XML
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC
    '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'
    'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>ShopCart</ejb-name>
    <home>ShopCart.CountryHome</home>
    <remote>ShopCart.CountryMas</remote>
    <ejb-class>ShopCart.CountryBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>ShopCart.CountryMasPK</prim-key-class>
    <reentrant>False</reentrant>
    <resource-ref>
    <res-ref-name>jdbc/ShopCartPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>ShopCart</ejb-name>
         <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    WEBLOGIC-EJB-JAR.XML
    <?xml version="1.0"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC
    '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN'
    'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>ShopCart</ejb-name>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jdbc/ShopCartPool</res-ref-name>
         <jndi-name>ShopCartDataSource</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>Country</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    i converted jar file like this
    d:\siva\projects\> set claapath=%classpath%;.;
    cd d:\siva\projects\ShopCart > javac *.java
    cd d:\siva\projects\ShopCart > jar -cvf Sh.jar *
    cd..
    d:\siva\projects> java weblogic.ejbc ShopCart\Sh.jar ShopCart\Shop.jar
    and deployed using weblogic 6.1 console
    and client code as follows
    Client.java
    import java.io.*;
    import javax.naming.*;
    import javax.ejb.*;
    import javax.rmi.*;
    import java.util.*;
    import ShopCart.*;
    class Client {
         public static void main(String args[]){
              Context ctx=null;
              try{
                   Properties pr = new Properties();
                   pr.put(Context.INITIAL_CONTEXT_FACTORY,
                        "weblogic.jndi.WLInitialContextFactory");
                   pr.put(Context.PROVIDER_URL,"t3://localhost:7001");
                   ctx= new InitialContext(pr);
                   Object obj = ctx.lookup("Country");
                   CountryHome cm = (CountryHome)
    javax.rmi.PortableRemoteObject.narrow(obj,CountryHome.class);
                   cm.create(args[0]);
                   System.out.println ("Creating Country " + args[0] +" ..... [Done]");          
              }catch (Exception e){
                   System.out.println(e);
    when i run this file it raise the error
    D:\Siva\Projects>java Client.java
    Exception in thread "main" java.lang.NoClassDefFoundError: Client/java
    D:\Siva\Projects>java Client
    javax.naming.NameNotFoundException: Unable to resolve Country. Resolved: '' Unre
    solved:'Country' ; remaining name ''
    D:\Siva\Projects>
    This is the error message. Please observe it and do let me know what would be the error. There
    would be small configuration error. But i couldn't locate it . plz help me somebody.
    Thanx & Regards,
    Siva.

    you need to use the name java:comp/env/Country in the client.
    and the client deployment descriptor will need an ejb-ref entry:
    <ejb-ref>
      <ejb-ref-name>
        Country
      </ejb-ref-name>
      <ejb-ref-type>
        Session
      </ejb-ref-type>
      <home>
        ShopCart.CountryHome
      </home>
      <remote>
        ShopCart.CountryMas
      </remote>
    </ejb-ref>toby

  • [b]EJB unable to find my Home interface-javax.naming.NameNotFoundException[

    I am pretty new to J2ee so help me out with these basics
    I had deployed my application at college which worked exactly but when I deployed it at my home, it got deployed well but its returning a error message when create is called. Also i had used mssql for jdbc connection but haven't set the j2ee_classpath, pls help me how to find jdbc drivers .jar file. Does j2ee_classpath has anything to do with my error.All other paths are intact.
    Help me soon, i have to hurry up my proj...
    Advanced Thanks To Your Good Heart.
    - Suresh Kumar.R
    coding snippet -->****Down
         public AccountBean()
              try
                   Context ic=new InitialContext();
                   java.lang.Object objref=ic.lookup("java:comp/env/ejb/Account");
                   accountHome=(AcHome)PortableRemoteObject.narrow(objref,AcHome.class);
              catch(Exception re)
                   System.err.println("Couldn't locate Account Home");
                   re.printStackTrace();
              reset();
    ********Error :********
    Couldn't locate Account Home
    javax.naming.NameNotFoundException: Account not found
    <<no stack trace available>>ack trace available>>

    yes Everything you say is right in my prog. but it still does n't works.
    i haven't set my j2ee_classpath & does it have anything to do with my error.
    if so, where to find the drivers(MS-SQL) .jar file.
    Thank You for Your reply
    -Suresh Kumar.R

  • Javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not fou

    Hi,
    I'm trying to run an esb process that invokes a bpel process but I'm getting the following error invoking bpel:
    oracle.tip.esb.server.common.exceptions.BusinessEventFatalException: Se ha devuelto una excepción no tratada en el sistema ESB. La excepción mostrada es: "java.lang.Exception: Fallo al crear el bean "ejb/collaxa/system/DeliveryBean"; la excepción mostrada es: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:52)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:158)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(BPELService.java:342)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
         at oracle.tip.esb.server.dispatch.DeferredEventDispatcher.processSubscriptions(DeferredEventDispatcher.java:150)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
         at oracle.tip.esb.server.dispatch.DeferredEventDispatcher.dispatch(DeferredEventDispatcher.java:67)
         at oracle.tip.esb.server.dispatch.agent.JavaDeferredMessageHandler.handleMessage(JavaDeferredMessageHandler.java:115)
         at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.java:162)
         at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:120)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
         at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:82)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:254)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:158)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(BPELService.java:342)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
         at oracle.tip.esb.server.dispatch.DeferredEventDispatcher.processSubscriptions(DeferredEventDispatcher.java:150)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
         at oracle.tip.esb.server.dispatch.DeferredEventDispatcher.dispatch(DeferredEventDispatcher.java:67)
         at oracle.tip.esb.server.dispatch.agent.JavaDeferredMessageHandler.handleMessage(JavaDeferredMessageHandler.java:115)
         at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.jav
    I know that the processes work fine because I have deployed them in another server and they are working fine. The esb process invokes the bpel without problems.
    I have read some threads in this forum where this error appears, but they are related to jsps, and the solution given doesn't apply.
    I really appreciate any help. Thanks in advance,
    Zaloa

    here is the detailed properties.
    properties.put("java.naming.factory.initial",                         "com.evermind.server.rmi.RMIInitialContextFactory");
                   properties.put("java.naming.provider.url", "ormi://localhost");
                   properties.put("java.naming.security.principal",
                             "admin");
                   properties.put("java.naming.security.credentials",
                             "welcome"

  • Tried to lookup an EJB (succ dply) got: javax.naming.NameNotFoundException

    Hi
    I use JDev Studio 10.1.3.40.66 and EJB 3.0 with annotations. I am working in the same Project (Model) with two stateless beans and some entities. In the same Project I have one test-client which implemented the lookup.
    Here a snippet of the EJB:
    @Stateless( name = "MyDao" )
    public class MyDaoImpl implements IMyDao {
    ... }Here piece of code out of test-client:
    final Context context = getInitialContext();
    IMyDao iMyDao = (IMyDao)context.lookup("MyDao");Now everything worked fine and nobody changed anything in the project. So it may be that after a "power off" and a restart I couldn't find my EJBs with the lookup?!
    Here is what I get from OC4J log:
    07/04/02 10:32:09 FEIN: TxSecIORInterceptor.addCSIv2Components Unable to obtain mutual auth port
    07/04/02 10:32:09 FEIN: TxSecIORInterceptor.addCSIv2Components UnknownType exceptioncom.sun.corba.ee.spi.legacy.interceptor.UnknownType
    (Here is some more stack trace!)
    FEIN: [current-workspace-app:Azima_AzimaModel_0] Initializing EntityManagerFactory named Azima-local with persistence provider oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.
    07/04/02 10:32:13 WARNUNG: Application.setConfig Application: current-workspace-app is in failed state as initialization failed.
    java.lang.LinkageError: loader constraints violated when linking javax/persistence/spi/PersistenceUnitInfo class
    Checking that EJBs were successfully deployed in embedded OC4J...
    All EJBs are successfully deployed.From my test-client log I get:
    javax.naming.NameNotFoundException: MyDao not found
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:52)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.promatis.azima.model.test.Client.main(Client.java:390)
    ...So I couldn't test my EJB anymore. If you have some suggestions or if you need more information about my project just post...
    I need some help with this problem!
    Thanks

    I work now more that two days on this error!!!
    -> I remade my complete jdev project, it did not work!
    -> I deleted the jdev/system/j2ee/oc4j/workspace dir
    -> I search for some .lock files
    -> and many more tries!!! But without success...
    Is there a way to reset the Embedded OC4J?

  • Javax.naming.NameNotFoundException: Unable to resolve ejb-link.

    Env: JDK 1.3.1_08
    Weblogic: 7.0
    We are attempting to use EJB's (session) and have it all localized in a jar.
    The Business and Custom Logic is all compiled to WEB-INF/classes. All the jars including the EJB jar is under WEB-INF/lib.
    On Startup Weblogic throws the error message
    weblogic.management.ApplicationException: activate failed for application
    Module Name: application, Error: weblogic.j2ee.DeploymentException: Could not setup environment - with nested exception:
    [javax.naming.NameNotFoundException: Unable to resolve ejb-link. Appejb.jar#AppServerBean is not in the context. The context includes the following link bindings: {} Make sure the link reference is relative to the URI of the referencing module.]
    I have tried using the ../ notation before the Appejb.jar in the web.xml and what not, but that does not work either.
    I have sucesfully deployed the EJB jar through the weblogic console.
    Any Clues or suggestions will be most appreciated..
    thanks
    -a

    Create a ear application from the ejb jar and web application war.
    Copy ear application to the applications directory.
    In the ejb-link element in web.xml specify the relative path to the ejb jar.
    <ejb-link>../Appejb.jar</ejb-link>
    thanks,
    Deepak
    Akshay <[email protected]> wrote:
    Env: JDK 1.3.1_08
    Weblogic: 7.0
    We are attempting to use EJB's (session) and have it all localized in
    a jar.
    The Business and Custom Logic is all compiled to WEB-INF/classes. All
    the jars including the EJB jar is under WEB-INF/lib.
    On Startup Weblogic throws the error message
    weblogic.management.ApplicationException: activate failed for application
    Module Name: application, Error: weblogic.j2ee.DeploymentException: Could
    not setup environment - with nested exception:
    [javax.naming.NameNotFoundException: Unable to resolve ejb-link. Appejb.jar#AppServerBean
    is not in the context. The context includes the following link bindings:
    {} Make sure the link reference is relative to the URI of the referencing
    module.]
    I have tried using the ../ notation before the Appejb.jar in the web.xml
    and what not, but that does not work either.
    I have sucesfully deployed the EJB jar through the weblogic console.
    Any Clues or suggestions will be most appreciated..
    thanks
    -a

  • EJB Reference could not be resolved (javax.naming.NameNotFoundException)

    I am new to EJBs and am trying to get a simple Java client to run which I've generated from a EJB3.0 session bean.
    The code for the client (LoanAppFacadeClient.java) is
    package buslogic;
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    public class LoanAppFacadeClient {
    public static void main(String [] args) {
    try {
    final Context context = getInitialContext();
    LoanAppFacade loanAppFacade = (LoanAppFacade)context.lookup("java:comp/env/ejb/LoanAppFacade");
    // Call any of the Remote methods below to access the EJB
    // System.out.println( loanAppFacade.getLoans( ) );
    loanAppFacade.addLoan( "Galactic Loans", 30, "fixed", 6.25 );
    String ssn = "123-12-1234";
    System.out.println(loanAppFacade.getCreditRating( ssn ));
    } catch (Exception ex) {
    ex.printStackTrace();
    private static Context getInitialContext() throws NamingException {
    Hashtable env = new Hashtable();
    // Standalone OC4J connection details
    env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.naming.ApplicationClientInitialContextFactory" );
    env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
    env.put( Context.SECURITY_CREDENTIALS, "welcome1" );
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/LoanApp");
    return new InitialContext( env );
    When the trying to run the client I get a warning:
    "WARNING: EJB Reference "ejb/LoanAppFacade" could not be resolved."
    followed by the error
    "javax.naming.NameNotFoundException: java:comp/env/ejb/LoanAppFacade not found in Lab1_BusinessServices-app-client"
    When the client was created I right-clicked on the session bean (LoanAppFacadeBean which implements LoanAppFacade) and chose New Sample Java Client.
    This automatically creates the java client and also created the following xml file (application-client.xml)
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <application-client 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/application-client_1_4.xsd" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    <display-name>Lab1_BusinessServices-app-client</display-name>
    <ejb-ref>
    <ejb-ref-name>ejb/LoanAppFacade</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>buslogic.LoanAppFacade</remote>
    <ejb-link>LoanAppFacade</ejb-link>
    </ejb-ref>
    </application-client>
    Could someone please help me to fix these errors?
    Thanks,
    Andrew

    I used windows for years whereby I stored all photos in folders. As macs don't use this concept I am finding it hard to organize my photos.
    You can do this on your Mac too. Just don't use iPhoto. But iPhoto is a lot more flexible.
    For instance:
    I usually sort them by month so when I say move to an album I mean I create an album called for example '2013 March' so I can easily find specific photos/videos.
    Click on the Magnifying Glass lower left to reveal the search box. Then click on the magnifying glass in the search box, and select Date. Now you can instantly find all the photos from a particular month, or day.
    File -> New Smart Album will allow you to create an automatic album for any date or date range you choose.
    Select one of the affected videos in the iPhoto Window and go File -> Reveal in Finder -> Original. A Finder Window should open with the file selected. Does it play?

  • Javax.naming.NameNotFoundException using Spring  with EJB3 and  Weblogic 10

    I'm deploying an EAR application from Weblogic 10 Administration Console... This
    EAR has two modules: an EJB3 module, and a Web module. The deploy process finish,
    but the status of the application is "Failed"... then in the log I get the
    following error:
    User defined listener
    org.springframework.web.context.ContextLoaderListener failed:
    org.springframework.beans.factory.BeanCreationException: Error creating bean
    with name 'gruposUnidadesServiceFacade' defined in class path resource
    [http://applicationContext.xml]: Invocation of init method failed; nested exception is
    javax.naming.NameNotFoundException: Unable to resolve
    'GruposUnidadesService'. Resolved ''; remaining name 'GruposUnidadesService'.
    org.springframework.beans.factory.BeanCreationException: Error creating bean
    with name 'gruposUnidadesServiceFacade' defined in class path resource
    [http://applicationContext.xml]: Invocation of init method failed; nested exception is
    javax.naming.NameNotFoundException: Unable to resolve 'GruposUnidadesService'. Resolved
    ''; remaining name 'GruposUnidadesService' at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1260)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
    at java.security.AccessController.doPrivileged(Native Method) at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:394)
    at
    org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
    at
    org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at
    org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at
    weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source) at
    weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1784)
    at
    weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) at
    weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    at
    weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at
    weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    at
    weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
    at
    weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
    at
    weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
    at
    weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
    at
    weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
    at
    weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at
    weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at
    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at
    weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    javax.naming.NameNotFoundException: Unable to resolve 'GruposUnidadesService'. Resolved
    ''; remaining name 'GruposUnidadesService' at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
    at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:252)
    at
    weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:182)
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206) at
    weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380) at
    javax.naming.InitialContext.lookup(InitialContext.java:392) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:132)
    at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88) at
    org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:130) at
    org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:155) at
    org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:93)
    at
    org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
    at org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor.lookup(AbstractRemoteSlsbInvokerInterceptor.java:97)
    at
    org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.refreshHome(AbstractSlsbInvokerInterceptor.java:105)
    at org.springframework.ejb.access.AbstractSlsbInvokerInterceptor.afterPropertiesSet(AbstractSlsbInvokerInterceptor.java:92)
    at
    org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean.afterPropertiesSet(SimpleRemoteStatelessSessionProxyFactoryBean.java:99)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1288)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1257)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:438)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
    at java.security.AccessController.doPrivileged(Native Method) at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:353)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:394)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:736)
    at
    org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
    at
    org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at
    weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:465)
    at
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source) at
    weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:175)
    at
    weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1784)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) at
    weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at
    weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
    at
    weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at
    weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
    at
    weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
    at
    weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
    at
    weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:140)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:106)
    at
    weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:820)
    at
    weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1227)
    at
    weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:436)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
    at
    weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at
    weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at
    weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at
    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at
    weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    This my EJB3 bean code:
    @Stateless(name="GruposUnidadesService",
    mappedName="GruposUnidadesService")
    public
    class GruposUnidadesServiceBean implements GruposUnidadesService,
    GruposUnidadesServiceLocal {
    In the mappedName I have tried different ways like: "ejb/GruposUnidadesService"
    but I always get the same exception.
    This is my weblogic-ejb-jar.xml
    &lt;?xml version = '1.0' encoding =
    'windows-1252'?&gt;
    &lt;!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA
    Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd"&gt;
    &lt;weblogic-ejb-jar&gt;
    &lt;weblogic-enterprise-bean&gt;
    &lt;ejb-name&gt;GruposUnidadesService&lt;/ejb-name&gt;
    &lt;enable-call-by-reference&gt;true&lt;/enable-call-by-reference&gt;
    &lt;/weblogic-enterprise-bean&gt;
    &lt;/weblogic-ejb-jar&gt;
    In the web module, I have Spring with MyFaces, in my applicationContext.xml
    I have:
    &lt;?xml version="1.0"
    encoding="UTF-8"?&gt;
    &lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD
    BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd"&gt;
    &lt;beans&gt;
    &lt;bean id="gruposUnidadesServiceFacade" class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean"&gt;
    &lt;property name="jndiName"
    value="GruposUnidadesService"/&gt;
    &lt;property name="businessInterface" value="penoles.infraestructura.web.servicesfacades.gruposunidades.GruposUnidadesServiceFacade"/&gt;
    &lt;/bean&gt;
    &lt;bean
    id="gruposUnidadesServiceFacadeBean" class="penoles.infraestructura.web.servicesfacades.gruposunidades.GruposUnidadesServiceFacadeBean"&gt;
    &lt;property name="gruposUnidadesServiceFacade"
    ref="gruposUnidadesServiceFacade"/&gt;
    &lt;/bean&gt;
    &lt;/beans&gt;
    Here, I have tried adding the resourceRef property set
    to true and to false and always I get the exception.
    Finally, in my web.xml I have:
    &lt;ejb-ref&gt;
    &lt;ejb-ref-name&gt;GruposUnidadesService&lt;/ejb-ref-name&gt;
    &lt;ejb-ref-type&gt;Session&lt;/ejb-ref-type&gt;
    &lt;remote&gt;penoles.infraestructura.business.services.gruposunidades.GruposUnidadesService&lt;/remote&gt;
    &lt;/ejb-ref&gt;
    And in my weblogic.xml:
    &lt;?xml version = '1.0' encoding =
    'windows-1252'?&gt;
    &lt;!DOCTYPE weblogic-web-app PUBLIC "-//BEA
    Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"&gt;
    &lt;weblogic-web-app&gt;
    &lt;reference-descriptor&gt;
    &lt;ejb-reference-description&gt;
    &lt;ejb-ref-name&gt;GruposUnidadesService&lt;/ejb-ref-name&gt;
    &lt;jndi-name&gt;ejb/GruposUnidadesService&lt;/jndi-name&gt;
    &lt;/ejb-reference-description&gt;
    &lt;/reference-descriptor&gt;
    &lt;/weblogic-web-app&gt;
    My environment is: Weblogic 10.3.0.0 on Linux Redhat 4
    thnks
    Edited by: user501097 on 08-oct-2008 8:29

    Well I Think it was a beginner mistake&hellip;
    I added to the following to my web.xml
    &lt;ejb-ref&gt;
    &lt;ejb-ref-name&gt;SeguridadService&lt;/ejb-ref-name&gt;
    &lt;ejb-ref-type&gt;Session&lt;/ejb-ref-type&gt;
    &lt;remote&gt;penoles.infraestructura.business.services.seguridad.SeguridadService&lt;/remote&gt;
    &lt;ejb-link&gt;SeguridadService&lt;/ejb-link&gt;
    &lt;/ejb-ref&gt;
    And change the applicationContext.xml
    &lt;bean id="gruposUnidadesServiceFacade" class = "org.springframework.jndi.JndiObjectFactoryBean"&gt;
    &lt;property name="resourceRef" value="true"/&gt;
    &lt;property name="proxyInterface" value="penoles.infraestructura.web.servicesfacades.gruposunidades.GruposUnidadesServiceFacade"/&gt;
    &lt;property name = "jndiName" value = "GruposUnidadesService"/&gt;
    &lt;/bean&gt;
    thnks!

  • Javax.naming.NameNotFoundException  plz guys help

    hi am try to create simple ejb prj and i got this exception iam beginner so can u plz help me to knwow hats wrong
    this is my entity bean
    working on netbean 6 glassfish v2
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package doctor;
    import java.io.Serializable;
    import java.math.BigInteger;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.EntityManager;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.Table;
    import javax.transaction.UserTransaction;
    * @author kriem
    @Entity
    @Table(name = "DOCTOR")
    @NamedQueries({@NamedQuery(name = "Doctor.findByDocFname", query = "SELECT d FROM Doctor d WHERE d.docFname = :docFname"), @NamedQuery(name = "Doctor.findByDocId", query = "SELECT d FROM Doctor d WHERE d.docId = :docId"), @NamedQuery(name = "Doctor.findByDocLname", query = "SELECT d FROM Doctor d WHERE d.docLname = :docLname"), @NamedQuery(name = "Doctor.findByDocPhone", query = "SELECT d FROM Doctor d WHERE d.docPhone = :docPhone"), @NamedQuery(name = "Doctor.findByDocAddress", query = "SELECT d FROM Doctor d WHERE d.docAddress = :docAddress"), @NamedQuery(name = "Doctor.findByDocMobileNo", query = "SELECT d FROM Doctor d WHERE d.docMobileNo = :docMobileNo"), @NamedQuery(name = "Doctor.findByDocSpecialty", query = "SELECT d FROM Doctor d WHERE d.docSpecialty = :docSpecialty"), @NamedQuery(name = "Doctor.findByDocTitle", query = "SELECT d FROM Doctor d WHERE d.docTitle = :docTitle")})
    public class Doctor implements Serializable {
        private static final long serialVersionUID = 1L;
        @Column(name = "DOC_FNAME", nullable = false)
        private String docFname;
        @Id
        @Column(name = "DOC_ID", nullable = false)
        private String docId;
        @Column(name = "DOC_LNAME", nullable = false)
        private String docLname;
        @Column(name = "DOC_PHONE")
        private BigInteger docPhone;
        @Column(name = "DOC_ADDRESS", nullable = false)
        private String docAddress;
        @Column(name = "DOC_MOBILE_NO")
        private BigInteger docMobileNo;
        @Column(name = "DOC_SPECIALTY", nullable = false)
        private String docSpecialty;
        @Column(name = "DOC_TITLE", nullable = false)
        private String docTitle;
        public Doctor() {
        public Doctor(String docId) {
            this.docId = docId;
        public Doctor(String docId, String docFname, String docLname, String docAddress, String docSpecialty, String docTitle) {
            this.docId = docId;
            this.docFname = docFname;
            this.docLname = docLname;
            this.docAddress = docAddress;
            this.docSpecialty = docSpecialty;
            this.docTitle = docTitle;
        public String getDocFname() {
            return docFname;
        public void setDocFname(String docFname) {
            this.docFname = docFname;
        public String getDocId() {
            return docId;
        public void setDocId(String docId) {
            this.docId = docId;
        public String getDocLname() {
            return docLname;
        public void setDocLname(String docLname) {
            this.docLname = docLname;
        public BigInteger getDocPhone() {
            return docPhone;
        public void setDocPhone(BigInteger docPhone) {
            this.docPhone = docPhone;
        public String getDocAddress() {
            return docAddress;
        public void setDocAddress(String docAddress) {
            this.docAddress = docAddress;
        public BigInteger getDocMobileNo() {
            return docMobileNo;
        public void setDocMobileNo(BigInteger docMobileNo) {
            this.docMobileNo = docMobileNo;
        public String getDocSpecialty() {
            return docSpecialty;
        public void setDocSpecialty(String docSpecialty) {
            this.docSpecialty = docSpecialty;
        public String getDocTitle() {
            return docTitle;
        public void setDocTitle(String docTitle) {
            this.docTitle = docTitle;
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (docId != null ? docId.hashCode() : 0);
            return hash;
        @Override
        public boolean equals(Object object) {
            // TODO: Warning - this method won't work in the case the id fields are not set
            if (!(object instanceof Doctor)) {
                return false;
            Doctor other = (Doctor) object;
            if ((this.docId == null && other.docId != null) || (this.docId != null && !this.docId.equals(other.docId))) {
                return false;
            return true;
        @Override
        public String toString() {
            return "doctor.Doctor[docId=" + docId + "]";
        public void persist(Object object) {
            /* Add this to the deployment descriptor of this module (e.g. web.xml, ejb-jar.xml):
             * <persistence-context-ref>
             * <persistence-context-ref-name>persistence/LogicalName</persistence-context-ref-name>
             * <persistence-unit-name>simple-ejbPU</persistence-unit-name>
             * </persistence-context-ref>
             * <resource-ref>
             * <res-ref-name>UserTransaction</res-ref-name>
             * <res-type>javax.transaction.UserTransaction</res-type>
             * <res-auth>Container</res-auth>
             * </resource-ref> */
            try {
                Context ctx = new InitialContext();
                UserTransaction utx = (UserTransaction) ctx.lookup("java:comp/env/UserTransaction");
                utx.begin();
                EntityManager em = (EntityManager) ctx.lookup("java:comp/env/persistence/LogicalName");
                em.persist(object);
                utx.commit();
            } catch (Exception e) {
                java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE, "exception caught", e);
                throw new RuntimeException(e);
    }my session bean
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package doctor;
    import java.util.List;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    * @author kriem
    @Stateless
    public class DoctorFacade implements DoctorFacadeRemote {
        @PersistenceContext
        (unitName="simple-ejbPU")
        private EntityManager em;
        public void create(Doctor doctor) {
            em.persist(doctor);
        public void edit(Doctor doctor) {
            em.merge(doctor);
        public void remove(Doctor doctor) {
            em.remove(em.merge(doctor));
        public Doctor find(Object id) {
            return em.find(doctor.Doctor.class, id);
        public List<Doctor> findAll() {
            return em.createQuery("select object(o) from Doctor as o").getResultList();
        public void persist(Object object) {
            em.persist(object);
    }myremote interface
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package doctor;
    import java.util.List;
    import javax.ejb.Remote;
    * @author kriem
    @Remote
    public interface DoctorFacadeRemote {
        void create(Doctor doctor);
        void edit(Doctor doctor);
        void remove(Doctor doctor);
        Doctor find(Object id);
        List<Doctor> findAll();
    }and for the clinet side its simple java aplication
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package doctor;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.rmi.PortableRemoteObject;
    * @author kriem
    public class client extends test  {
        public static void main(String [] args) {
        try {
           // NewServiceLocator obj=new NewServiceLocator();
            test simple=new test();
            simple.getDataSource("doctor");
            simple.getSession("DoctorFaca");
                Context jndiContext = getInitialContext( );
                Object ref = jndiContext.lookup("DoctorFacade/remote");
                DoctorFacadeRemote dao = (DoctorFacadeRemote)
                  PortableRemoteObject.narrow(ref,DoctorFacadeRemote.class);
         Doctor doc=new Doctor();
         doc.setDocFname("test");
         doc.setDocAddress("bla bla");
         doc.setDocId("D1005");
         doc.setDocLname("mohamedd");
        // doc.setDocMobileNo(121112223);
         doc.setDocTitle("MD");
         //doc.getDocPhone(2);
                dao.create(doc);
                Doctor doc2 = dao.find("D1002");
                System.out.println(doc2.getDocSpecialty());
                System.out.println(doc2.getDocFname());
                System.out.println(doc2.getDocLname());
                System.out.println(doc2.getDocAddress());
                System.out.println(doc2.getDocMobileNo());
                System.out.println(doc2.getDocPhone());
                System.out.println(doc2.getDocSpecialty());
                System.out.println(doc2.getDocTitle());
        catch (javax.naming.NamingException ne)
        {ne.printStackTrace( );
        public static Context getInitialContext( )
            throws javax.naming.NamingException {
            Properties p = new Properties( );
            // ... Specify the JNDI properties specific to the vendor.
            return new javax.naming.InitialContext(p);
        }and i got this exception knowing that am using entity bean from existing database that i had created
    javax.naming.NameNotFoundException:
            at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:216)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:188)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
            at com.sun.enterprise.naming.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:129)
            at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
            at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
            at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
            at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
            at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    run-simple-app-client:guys anyhelp am really lost in this
    Edited by: marwacs on May 19, 2008 9:32 PM

    hey guys i made some updates on my sample and i figure out that as long as am creating enterprise application on netbeans 6 that contain both ejb module and client module i don`t need to write mapedName i only put the @ejb in the client side and it creates an instance of the remote interface
    here is what i have done in the client code /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    package enterpriseapplication4;
    import ejb.Doctor;
    import ejb.DoctorFacadeRemote;
    import javax.ejb.EJB;
    import java.math.BigInteger;
    * @author kriem
    public class Main {
        @EJB
        private static DoctorFacadeRemote doctorFacade;
         * @param args the command line arguments
        public static void main(String[] args) {
            // TODO code application logic here
    //        Object id="D1002";
    //        Doctor find = doctorFacade.find(id);
    //        find.toString();
    //            System.out.println(find.getDocSpecialty());
    //            System.out.println(find.getDocFname());
    //            System.out.println(find.getDocLname());
    //            System.out.println(find.getDocAddress());
    //            System.out.println(find.getDocMobileNo());
    //            System.out.println(find.getDocPhone());
    //            System.out.println(find.getDocSpecialty());
    //            System.out.println(find.getDocTitle());
                    Doctor doc=new Doctor();
                    BigInteger bi = BigInteger.valueOf(123);
                    BigInteger bh = BigInteger.valueOf(111);
         doc.setDocFname("test");
         doc.setDocAddress("bla bla");
      System.err.print("doc Fname and address");
         doc.setDocId("D1005");
         doc.setDocLname("mohamedd");
    doc.setDocMobileNo(bh);
         doc.setDocTitle("MD");
    doc.setDocMobileNo (bi);
      doctorFacade.create(doc);
      System.err.print("doc was added");
    }but when i run i found this
    May 21, 2008 6:37:08 PM com.sun.enterprise.appclient.MainWithModuleSupport <init>
    WARNING: ACC003: Application threw an exception.
    javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
            java.rmi.RemoteException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.; nested exception is:
            javax.transaction.RollbackException: Transaction marked for rollback.
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
            java.rmi.RemoteException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.; nested exception is:
            javax.transaction.RollbackException: Transaction marked for rollback.
            at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:243)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:205)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:152)
            at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:225)
            at ejb.__DoctorFacadeRemote_Remote_DynamicStub.create(ejb/__DoctorFacadeRemote_Remote_DynamicStub.java)
            at ejb._DoctorFacadeRemote_Wrapper.create(ejb/_DoctorFacadeRemote_Wrapper.java)
            at enterpriseapplication4.Main.main(Main.java:50)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
            at com.sun.enterprise.appclient.Main.main(Main.java:200)
    Caused by: java.rmi.RemoteException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.; nested exception is:
            javax.transaction.RollbackException: Transaction marked for rollback.
            at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:251)
            at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1386)
            at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
            at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:210)
            at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:117)
            at $Proxy82.create(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
            at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
            at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
            at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
            at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
            at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    Caused by: javax.transaction.RollbackException: Transaction marked for rollback.
            at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction.java:440)
            at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:371)
            at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
            at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
            at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
            ... 19 more
    javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
            java.rmi.RemoteException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.; nested exception is:
            javax.transaction.RollbackException: Transaction marked for rollback.
            at ejb._DoctorFacadeRemote_Wrapper.create(ejb/_DoctorFacadeRemote_Wrapper.java)
            at enterpriseapplication4.Main.main(Main.java:50)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
            at com.sun.enterprise.appclient.Main.main(Main.java:200)
    Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:461)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:259)
            at com.sun.enterprise.appclient.Main.main(Main.java:200)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:266)
            at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:449)
            ... 2 more
    Caused by: javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
            java.rmi.RemoteException: Transaction aborted; nested exception is: javax.transaction.RollbackException: Transaction marked for rollback.; nested exception is:
            javax.transaction.RollbackException: Transaction marked for rollback.
            at ejb._DoctorFacadeRemote_Wrapper.create(ejb/_DoctorFacadeRemote_Wrapper.java)
            at enterpriseapplication4.Main.main(Main.java:50)
            ... 8 morethe thing is am connecting my sample with oracle db and i debuged my sample it breaks when i try to create(doc) last line in the client code ,i guess its about connecting with the database,i don`t know i also working on netbean 6
    so plaz me guys another question is it possible to create statfule web services and if its plz can u send me examples

  • Javax.naming.NameNotFoundException: jdbc not bound

    Hi !
    I've a application deployed with JBoss 4.0.2 Solaris 2.8, I've create a Oracle DS, when I try to read data from a database throw DS works fine, but when I try to insert, delete or update records from database the jboss show the next error.
    2005-09-07 09:17:55,662 ERROR [org.jboss.ejb.plugins.LogInterceptor] Transaction
    RolledbackLocalException in method: public abstract int com.soluzionasf.arqw10.g
    c.cmp.OracleSequenceSessionLocal.getNextSequenceNumber(java.lang.String) throws
    javax.ejb.FinderException, causedBy:
    javax.naming.NameNotFoundException: jdbc not bound
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
    at org.jnp.server.NamingServer.getObject(NamingServer.java:505)
    at org.jnp.server.NamingServer.lookup(NamingServer.java:249)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:610)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at com.soluzionasf.arqw10.gc.cmp.OracleSequenceSessionBean.getConnection
    (OracleSequenceSessionBean.java:76)
    at com.soluzionasf.arqw10.gc.cmp.OracleSequenceSessionBean.getNextSequen
    ceNumber(OracleSequenceSessionBean.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
    tatelessSessionContainer.java:214)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
    ke(CachedConnectionInterceptor.java:185)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat
    elessSessionInstanceInterceptor.java:130)
    at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(Service
    EndpointInterceptor.java:51)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidation
    Interceptor.java:48)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte
    rceptor.java:105)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
    torCMT.java:335)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:1
    66)
    This is my DS definition
    <?xml version="1.0" encoding="UTF-8"?>
    <local-tx-datasource>
    <jndi-name>jdbc/OracleDS</jndi-name>
    <connection-url>jdbc:oracle:thin:@10.98.10.42:1532:orcl28</connection-url>
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>evo_adminis</user-name>
    evo_adminis1
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
    <type-mapping>Oracle9i</type-mapping>
    </local-tx-datasource>
    Who knows the solutions for my problem
    Thanks for advance

    Could be that your EJB is connected to a wrong datasource called only "jdbc"?
    Strangely you say that while reading data all works fine (so the datasource definition is ok) but only when writing data there is a NamingException.
    The stacktrace seems to report an error while getting datasource reference inside com.soluzionasf.arqw10.gc.cmp.OracleSequenceSessionLocal.getNextSequenceNumber method, the problems seems to be a bad name resource name ("jdbc" instead of java:jdbc/OracleDS or java:comp/env/jdbc/OracleDS if you use resource reference in your web.xml file). If you created this class as a CMP perhaps you misstype the right datasource name, otherwise if you code this method by yourseft you misstype the naming reference.

  • Javax.naming.NameNotFoundException while Message driven bean

    I am adding a message driven bean in to my EJB application and trying
    to deploy it in the WebLogic 6.0 server.
    Now please let me know is there any other step i am missing.
    1) This is what i have added in my ejb-jar.xml
    <enterprise-beans>
         <message-driven>
              <description>no description</description>
              <display-name>ActivatorBean</display-name>
              <ejb-name>ActivatorBean</ejb-name>
              <ejb-class>com.savvion.bizlogic.server.ActivatorBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
                   <jms-destination-type>javax.jms.Queue</jms-destination-type>
              </message-driven-destination>
              <security-identity>
                   <description/>
                   <run-as-specified-identity>
                   <description/>
                   <role-name/>
                   </run-as-specified-identity>
              </security-identity>
         </message-driven>
    2) I am adding this is in the weblogic-ejb.xml
    <weblogic-enterprise-bean>
         <ejb-name>ActivatorBean</ejb-name>
         <message-driven-descriptor>
                             <destination-jndi-name>MyMessageQueueFactory</destination-jndi-name>
         </message-driven-descriptor>
         <transaction-descriptor>
              <trans-timeout-seconds>1200</trans-timeout-seconds>
         </transaction-descriptor>
         <jndi-name>MessageQueue</jndi-name>
         </weblogic-enterprise-bean>
    anything else which needs to added in WebLogic-ejb.xml or in config.xml
    because as per the following error message there should be some
    entry in config.xml.
    onemore thing i am little bit confused in
    <destination-jndi-name>MyMessageQueueFactory</destination-jndi-name>
    and
    <jndi-name>MessageQueue</jndi-name>
    and when i deploed this in WebLogic got this error message on the
    prompt
    <Error> <J2EE> <Error deploying EJB Component : LEngine
    weblogic.ejb20.EJBDeploymentException: Error deploying Message-Driven
    Bean,
    couldn't find Queue 'MyMessageQueueFactory'. Make sure it was declared
    in your config.xml.
    ; nested exception is:
    javax.naming.NameNotFoundException: Unable to resolve MyMessageQueueFactory.
    Resolved: '' Unresolved:'MyMessageQueueFactory' ; remaining name
    javax.naming.NameNotFoundException: Unable to resolve MyMessageQueueFactory.
    Reso
    lved: '' Unresolved:'MyMessageQueueFactory' ; remaining name ''
    <<no stack trace available>>
    >
    <Error> <J2EE> <Error deploying application
    WFEngine: Could not deploy: 'xyz.jar'
    Possible reasons include:
    1. The bean or an interface class has been modified but
    the deployment descriptor has not been updated
    2. The database mappings in the deployment descriptor do not
    match the database definition
    3. The jar file is not a valid jar file
    4. The jar file does not contain a valid bean>
    Thanks
    Naresh

    I am adding a message driven bean in to my EJB application and trying
    to deploy it in the WebLogic 6.0 server.
    Now please let me know is there any other step i am missing.
    1) This is what i have added in my ejb-jar.xml
    <enterprise-beans>
         <message-driven>
              <description>no description</description>
              <display-name>ActivatorBean</display-name>
              <ejb-name>ActivatorBean</ejb-name>
              <ejb-class>com.savvion.bizlogic.server.ActivatorBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
                   <jms-destination-type>javax.jms.Queue</jms-destination-type>
              </message-driven-destination>
              <security-identity>
                   <description/>
                   <run-as-specified-identity>
                   <description/>
                   <role-name/>
                   </run-as-specified-identity>
              </security-identity>
         </message-driven>
    2) I am adding this is in the weblogic-ejb.xml
    <weblogic-enterprise-bean>
         <ejb-name>ActivatorBean</ejb-name>
         <message-driven-descriptor>
                             <destination-jndi-name>MyMessageQueueFactory</destination-jndi-name>
         </message-driven-descriptor>
         <transaction-descriptor>
              <trans-timeout-seconds>1200</trans-timeout-seconds>
         </transaction-descriptor>
         <jndi-name>MessageQueue</jndi-name>
         </weblogic-enterprise-bean>
    anything else which needs to added in WebLogic-ejb.xml or in config.xml
    because as per the following error message there should be some
    entry in config.xml.
    onemore thing i am little bit confused in
    <destination-jndi-name>MyMessageQueueFactory</destination-jndi-name>
    and
    <jndi-name>MessageQueue</jndi-name>
    and when i deploed this in WebLogic got this error message on the
    prompt
    <Error> <J2EE> <Error deploying EJB Component : LEngine
    weblogic.ejb20.EJBDeploymentException: Error deploying Message-Driven
    Bean,
    couldn't find Queue 'MyMessageQueueFactory'. Make sure it was declared
    in your config.xml.
    ; nested exception is:
    javax.naming.NameNotFoundException: Unable to resolve MyMessageQueueFactory.
    Resolved: '' Unresolved:'MyMessageQueueFactory' ; remaining name
    javax.naming.NameNotFoundException: Unable to resolve MyMessageQueueFactory.
    Reso
    lved: '' Unresolved:'MyMessageQueueFactory' ; remaining name ''
    <<no stack trace available>>
    >
    <Error> <J2EE> <Error deploying application
    WFEngine: Could not deploy: 'xyz.jar'
    Possible reasons include:
    1. The bean or an interface class has been modified but
    the deployment descriptor has not been updated
    2. The database mappings in the deployment descriptor do not
    match the database definition
    3. The jar file is not a valid jar file
    4. The jar file does not contain a valid bean>
    Thanks
    Naresh

  • Help needed - javax.naming.NameNotFoundException:

    Hi,
    I am writing a stateless local session bean that is invoked within an EJB,
    it deploys fine,
    console
    16:52:58,719 INFO [EjbModule] Deploying LocalRuleEngine
    but when I run it I get NameNotFoundException,
    javax.naming.NameNotFoundException: LocalRuleEngine not bound
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
    at org.jnp.server.NamingServer.getObject(NamingServer.java:505)
    at org.jnp.server.NamingServer.lookup(NamingServer.java:278)
    at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    this is mapping files,
    jboss.xml,
    <?xml version="1.0"?>
    <jboss>
        <enterprise-beans>
            <message-driven>
                <ejb-name>DistributionManager</ejb-name>
                <destination-jndi-name>queue/dr</destination-jndi-name>
                <resource-ref>
                    <res-ref-name>jms/QCF</res-ref-name>
                    <jndi-name>ConnectionFactory</jndi-name>
                </resource-ref>
            </message-driven>
              <session>
                   <ejb-name>LocalRuleEngine</ejb-name>
                   <jndi-name>ejb/LocalRuleEngine</jndi-name>
              </session>
        </enterprise-beans>
    </jboss>ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
      <enterprise-beans>
         <message-driven>
               <ejb-name>DistributionManager</ejb-name>
               <ejb-class>com.test.DataDistributionManager</ejb-class>
               <transaction-type>Container</transaction-type>
               <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
               <message-driven-destination>
                 <destination-type>javax.jms.Queue</destination-type>
               </message-driven-destination>
                <ejb-local-ref>
                     <ejb-ref-name>ejb/LocalRuleEngine</ejb-ref-name>
                  <ejb-ref-type>Session</ejb-ref-type>
                  <local-home>com.test.LocalRuleEngineHome</local-home>
                  <local>com.test.LocalRuleEngine</local>
                  <ejb-link>LocalRuleEngine</ejb-link>
                 </ejb-local-ref>
               <resource-ref>
                 <res-ref-name>jms/QCF</res-ref-name>
                 <res-type>javax.jms.QueueConnectionFactory</res-type>
                 <res-auth>Container</res-auth>
               </resource-ref>
        </message-driven>
        <session>
                  <ejb-name>LocalRuleEngine</ejb-name>
                   <local-home>com.test.LocalRuleEngineHome</local-home>
                  <local>com.test.LocalRuleEngine</local>
                  <ejb-class>com.test.RuleEngineBean</ejb-class>
                  <session-type>Stateless</session-type>
                  <transaction-type>Container</transaction-type>
        </session>
      </enterprise-beans>
    </ejb-jar>this is my local home interface
    package com.test;
    import javax.ejb.CreateException;
    import javax.ejb.EJBLocalHome;
    public interface LocalRuleEngineHome extends EJBLocalHome{
         public LocalRuleEngine create() throws CreateException;
    }this is my local interface
    package com.test;
    import java.util.List;
    import javax.ejb.EJBLocalObject;
    import com.raytheon.jetts.domain.DomainClass;
    import com.raytheon.jetts.domain.DomainKey;
    public interface LocalRuleEngine extends EJBLocalObject {
         public List findMatchingRules(DomainClass itemToDistribute);
         public List createRules(DomainKey domainKey, List<Address> addresses);
         public ImAdapter getImAdapter();
         public void setImAdapter(ImAdapter imAdapter);
         public List getAddressesFromRules(List<DistributionRule> distributionRules);
         public void addRule(DistributionRule distributionRule);
         public void removeRule(DomainKey domainKey);
         public String testReturn();
    }this is my bean,
    package com.test;
    import java.rmi.RemoteException;
    import java.util.List;
    import javax.ejb.CreateException;
    import javax.ejb.EJBException;
    import javax.ejb.EJBLocalHome;
    import javax.ejb.EJBLocalObject;
    import javax.ejb.RemoveException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import com.raytheon.jetts.domain.DomainClass;
    import com.raytheon.jetts.domain.DomainKey;
    public class RuleEngineBean implements SessionBean, LocalRuleEngine{
         private static Log log = LogFactory.getLog(DataDistributionManager.class);
         private LocalRuleEngine engine;
         private LocalRuleEngineHome localHome;
         public RuleEngineBean(){}
         public List findMatchingRules(DomainClass itemToDistribute){
              List list = null;
              return list;
         public String testReturn(){
              return new String("is home time");
         public List createRules(DomainKey domainKey, List<Address> addresses){
              List list = null;
              return list;
         public ImAdapter getImAdapter(){
              ImAdapter imAdapter = null;
              return imAdapter;
         public void setImAdapter(ImAdapter imAdapter){
         public List getAddressesFromRules(List<DistributionRule> distributionRules){
              List list = null;
              return list;
         public void addRule(DistributionRule distributionRule){
         public void removeRule(DomainKey domainKey){
         public void ejbCreate(String info){}
         public void setSessionContext(SessionContext context){}
         public void remove(){}
         public void ejbActivate(){}
         public void ejbPassivate(){}
         public void ejbRemove(){}
         public void ejbCreate(){}
         public boolean isIdentical(EJBLocalObject obj)throws EJBException{
              return true;
         public EJBLocalHome getEJBLocalHome(){
              return localHome;
         public Object getPrimaryKey()throws EJBException{
              return new Object();
    }Thanks for any help on this,
    Jp.

    sorry about that,
    I'm doing this,
    InitialContext ctx = new InitialContext();
                  LocalRuleEngineHome localRuleEngineHome  = (LocalRuleEngineHome)ctx.lookup("ejb/LocalRuleEngine");
                 //localRuleEngineHome = (LocalRuleEngineHome)PortableRemoteObject.narrow(objref,  LocalRuleEngineHome.class);
                 LocalRuleEngine lre = localRuleEngineHome.create();
                 log.info(lre.testReturn());

  • JNDI lookup from OC4J to weblogic throws javax.naming.NameNotFoundException

    Hi All,
    We have the below setup in our production environment.
    EJB application is deployed in the Weblogic 10.3.4.0 Server on Sun Solaris. The EJB version is 3.0
    OC4J 10.2.0 is running on another Sun Solaris machine.
    There are 2 webservice applications WEBSERV1 & TestSoapEJB running on this OC4J container.
    We need to do lookup the EJBs deployed on the Weblogic server. For this we used the below logic in the web service's Stateless session bean:
    String weblogicURL = "";
    Properties props = new Properties();
    try
    props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("wl.properties"));
    weblogicURL     = props.getProperty("weblogicURL");     
    catch (FileNotFoundException e)
    e.printStackTrace();
    catch (IOException e)
    e.printStackTrace();
    Context ctx = null;
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.SECURITY_PRINCIPAL,"weblogic");
    ht.put(Context.SECURITY_CREDENTIALS,"weblogic654");
    ht.put(Context.PROVIDER_URL, weblogicURL);
    ctx = NamingManager.getInitialContext(ht) ;
    // tried using //ctx = new InitialContext(ht); same behavior.
    TestEJB.AdministratorEJB ejb = (TestEJB.AdministratorEJB) ctx.lookup("TestEJB#TestEJB.AdministratorEJB");
    ctx.close();
    When we first test first WEBSER1, the lookup is fine.
    But when we test the second webservice WEBSER2, the webservice name itself not able to lookup: It gives the below error:
    javax.naming.NameNotFoundException: remaining name: env/TestSoapEJB
    Below is the stack throws thrown on browser:
    500 Internal Server Error
    javax.naming.NameNotFoundException: remaining name: env/TestSoapEJB     
    at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:35)     
    at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:39)     
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:59)     
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:59)     
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:64)     
    at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)     
    at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)     
    at javax.naming.InitialContext.lookup(InitialContext.java:392)     
    at oracle.j2ee.ws.SessionBeanRpcWebService.init(SessionBeanRpcWebService.java:65)     
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.loadServlet(HttpApplication.java:2354)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.findServlet(HttpApplication.java:4795)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:2821)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:680)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)     
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)     
    at java.lang.Thread.run(Thread.java:662)
    It seems that, the OC4J is looking in Weblogic context. But it should be looking in its own context. How to resolve this issue.
    The same case happens if i restart the OC4J and first test the TestSoapEJB the lookup is fine . But if i test the WEBSERV1 , it throws the same error as above. In short, if one of the webservices lookup is working fine, the other webservice is not working. At the same time only one webservice's lookup is working.
    Kindly help me to resolve this issue.
    regards,
    Zia
    Edited by: PT Expert on Sep 9, 2012 3:16 AM

    I work now more that two days on this error!!!
    -> I remade my complete jdev project, it did not work!
    -> I deleted the jdev/system/j2ee/oc4j/workspace dir
    -> I search for some .lock files
    -> and many more tries!!! But without success...
    Is there a way to reset the Embedded OC4J?

  • Javax.naming.NameNotFoundException.  Root exception is org.omg.CosNaming.Na

    Hello everyone:
    I am having trouble in finding local entity bean using jndi lookup. I am using wsad5.1.1. Jndi looks up my entity bean successfully if the ejb is remote.
    My local ejb lookup:
    Properties env = new Properties();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
    env.put(Context.PROVIDER_URL, "iiop://localhost:2809/");
    Context initialContext = new InitialContext(env);
    Object homeObject = initialContext.lookup("java:comp/env/ejb/DS_DLID_PORTRAIT");
    EJB-REF :
    <ejb-local-ref id="EJBLocalRef_1121106135046">
                        <ejb-ref-name>ejb/DS_DLID_PORTRAIT</ejb-ref-name>
                        <ejb-ref-type>Entity</ejb-ref-type>
                        <local-home>state.il.sos.doit.ejb.DS_DLID_PORTRAITLocalHome</local-home>
                        <local>state.il.sos.doit.ejb.DS_DLID_PORTRAITLocal</local>
                        <ejb-link>DS_DLID_PORTRAIT</ejb-link>
                   </ejb-local-ref>
    Any help is appreciated.
    Thanks.

    Greetings,
    javax.naming.NameNotFoundException. Root exception is
    org.omg.CosNaming.NamingContextPackage.NotFound
    =================
    Below is the line of my LoginServlet class which is
    referred to in the stack trace - Object object =
    context.lookup
                        ( "java:comp/env/ejb/WarehouseClerk" );The root of the naming context is 'java:comp/env' and this is where lookup automatically begins for EJBs and resources. IOW, by specifying "java:comp/env/ejb/WarehouseClerk" as the EJB lookup name the server is actually treating this as "java:comp/env/java:comp/env/ejb/WarehouseClerk". Specify only the ejb context ("ejb/WarehouseClerk") in your lookup and you should be fine.
    Any help would be most appreciated.
    SeanRegards,
    Tony "Vee Schade" Cook

  • Javax.naming.NameNotFoundException

    I am using Weblogic 7.0 and while deploying an EJB during startup I get this error?
    Somehow, this application deployed in some developers' machines and failed on
    others. I have no idea why? Pls help!
    Wen
    [exec] weblogic.ejb20.UnDeploymentException: cps_server_ejb.jar; nested exception
    is:
    [exec] javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/cps_server_ejb.jar#StatefulWorkflowEJB'
    Resolved: 'app/ejb' Unresolved:
    'cps_server_ejb.jar#StatefulWorkflowEJB' ; remaining name 'cps_server_ejb.jar#StatefulWorkflowEJB'
    [exec] javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/cps_server_ejb.jar#StatefulWorkflowEJB'
    Resolved: 'app/ejb' Unresolved:'cps
    serverejb.jar#StatefulWorkflowEJB' ; remaining name 'cps_server_ejb.jar#StatefulWorkflowEJB'
    [exec] at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
    [exec] at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:223)
    [exec] at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:187)
    [exec] at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:338)
    [exec] at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:333)
    [exec] at weblogic.ejb20.deployer.EJBDeployer.cleanupAppContext(EJBDeployer.java:1739)
    [exec] at weblogic.ejb20.deployer.EJBDeployer.rollback(EJBDeployer.java:1420)
    [exec] at weblogic.ejb20.deployer.EJBDeployer.undeploy(EJBDeployer.java:310)
    [exec] at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:884)
    [exec] at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:79)
    [exec] at weblogic.j2ee.Application.addComponent(Application.java:294)
    [exec] at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:163)
    [exec] at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:396)
    [exec] at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:302)
    [exec] at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:256)
    [exec] at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:207)
    [exec] at java.lang.reflect.Method.invoke(Native Method)
    [exec] at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:717)
    [exec] at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:699)
    [exec] at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:405)
    [exec] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    [exec] at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    [exec] at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:921)
    [exec] at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:470)
    [exec] at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:198)
    [exec] at $Proxy40.updateDeployments(Unknown Source)
    [exec] at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:3957)
    [exec] at weblogic.management.deploy.slave.SlaveDeployer.updateServerDeployments(SlaveDeployer.java:2258)
    [exec] at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:365)
    [exec] at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:235)
    [exec] at weblogic.t3.srvr.ServerLifeCycleList.resume(ServerLifeCycleList.java:61)
    [exec] at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:812)
    [exec] at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:294)
    [exec] at weblogic.Server.main(Server.java:31)
    [exec] <Oct 30, 2002 10:15:28 AM PST> <Error> <J2EE> <160001> <Error deploying
    application cps_server_ejb:

    Could it be caused by a wrong configuration in the Weblogic Server console?That, or you are simply using the wrong JNDI lookup path. Or both. The server should provide a function to see what is deployed in its JNDI context, hopefully also mentioning the JNDI path to use. If you need more help, I suggest you take your question to the weblogic forum.
    https://forums.oracle.com/forums/category.jspa?categoryID=193

Maybe you are looking for