2014-06-21 22 views
0

當我試圖進入一個名爲servlet的BookingServletservlet異常部署行家企業項目

墳墓我得到這個錯誤查找失敗的Java:全球/ it.volaconnoi_VolaConNoi_webapp-在SerialContext中的ear_ear_1.0-SNAPSHOT/it.volaconnoi_VolaConNoi_webapp-ejb_ejb_1.0-SNAPSHOT/BookingBean!it.volaconnoi.logic.BookingBeanInterface [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl。 SerialInitContextFactory,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl,java.naming.factory.url.pkgs = com.sun.enterprise.naming} [根異常是javax。 naming.NameNotFoundException:it.volaconnoi_VolaConNoi_webapp-ear_ear_1.0-SNAPSHOT]

,這是該項目正確部署截圖

enter image description here

,但我不明白爲什麼我得到這個錯誤。你有什麼建議嗎?

正如你可以看到預訂的servlet是在其位

enter image description here

編輯

BookingBeanInterface bookingBean = lookupBookingBeanLocal(); 


private BookingBeanInterface lookupBookingBeanLocal() { 
     try { 
      Context c = new InitialContext(); 
      return (BookingBeanInterface) c.lookup("java:global/it.volaconnoi_volaconnoi-webapp-ear_ear_1.0-SNAPSHOT/it.volaconnoi_volaconnoi-webapp-ejb_ejb_1.0-SNAPSHOT/BookingBean!it.volaconnoi.logic.BookingBeanInterface"); 
     } catch (NamingException ne) { 
      Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne); 
      throw new RuntimeException(ne); 
     } 
    } 
+0

好吧,我明白這個問題,但我需要你的幫助來解決它...問題依賴於我執行上面的代碼來調用ejb有狀態的事實 – Mazzy

回答

0

真的不夠介紹,您應該描述哪裏是你的BookingBean類的位置,並通過它在JNDI中註冊了什麼。但是,如果我們假設註冊是正確的,你可以嘗試使用以下字符串它來查找:

c.lookup("java:app/BookingBean/it.volaconnoi.logic.BookingBeanInterface"); 

查看更多描述在這裏:http://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html