2013-07-06 31 views
0

我正在使用JBoss AS 5.0.1,並且當我嘗試調用我的Servlet時出現以下錯誤。EAR內容不受限制異常

17:11:48,060 ERROR [STDERR] javax.naming.NameNotFoundException: EJBSvcApp not bound 

我已經通過上面的名稱創建了一個EAR添加了我的EJB和Web項目。 我還在我的Web App的部署程序集中包含了EJBClient。以下是JBoss日誌跟蹤。我也在日誌中看到一條警告,我不確定它是什麼。

17:09:27,962 INFO [Ejb3DependenciesDeployer] Encountered deployment [email protected]{vfszip:/C:/jboss-  5.0.1.GA/server/default/deploy/EJBSvcApp.ear/EJBSvcEJB.jar/} 
17:09:27,963 INFO [Ejb3DependenciesDeployer] Encountered deployment [email protected]{vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/EJBSvcApp.ear/EJBSvcEJB.jar/} 
17:09:27,963 INFO [Ejb3DependenciesDeployer] Encountered deployment [email protected]{vfszip:/C:/jboss-5.0.1.GA/server/default/deploy/EJBSvcApp.ear/EJBSvcEJB.jar/} 
7:09:27,986 WARN [Ejb3AnnotationHandler] JBMETA-4: did not find any bean meta data for annotation bean OrderBean, will create some 
17:09:33,622 INFO [JBossASKernel] Created KernelDeployment for: EJBSvcEJB.jar 
17:09:33,626 INFO [JBossASKernel] installing bean: jboss.j2ee:ear=EJBSvcApp.ear,jar=EJBSvcEJB.jar,name=OrderBean,service=EJB3 
17:09:33,626 INFO [JBossASKernel] with dependencies: 
17:09:33,626 INFO [JBossASKernel] and demands: 
17:09:33,627 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService 
17:09:33,627 INFO [JBossASKernel] and supplies: 
17:09:33,627 INFO [JBossASKernel] Class:com.webpage.ejb.Order 
17:09:33,627 INFO [JBossASKernel] Added bean(jboss.j2ee:ear=EJBSvcApp.ear,jar=EJBSvcEJB.jar,name=OrderBean,service=EJB3) to KernelDeployment of: EJBSvcEJB.jar 
17:09:33,776 INFO [SessionSpecContainer] Starting jboss.j2ee:ear=EJBSvcApp.ear,jar=EJBSvcEJB.jar,name=OrderBean,service=EJB3 
17:09:33,786 INFO [EJBContainer] STARTED EJB: com.webpage.ejb.OrderBean ejbName: OrderBean 
17:09:33,791 INFO [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI: 


17:09:33,850 WARN [WebServiceDeployerEJB] Ingore ejb deployment with null classname: [email protected]{OrderBean} 
17:09:33,928 INFO [TomcatDeployment] deploy, ctxPath=/EJBSvcWeb  

我已經創建了一個EJB接口

@Remote() 
public interface Order {... 

和豆

@Stateless(name = "OrderBean") 
public class OrderBean implements Order { ... 

我正在查找在我的servlet如下

Order o = (Order)(new InitialContext()).lookup("EJBSvcApp/OrderBean/remote"); 
+0

我認爲您是想查找使用錯誤的名字(「EJBSvcApp/OrderBean /遠程」),試圖在日誌中搜索豆當jboss部署它時使用的ejb名稱,可能只是(「OrderBean」) –

+0

感謝您的回覆,但我不認爲它的名稱。我使用您的意見進行了測試,但它給了它一個例外,說OrderBean未找到。以前的情況並非如此。如果你能看到我在上面提供的日誌中的第二個和第三個最後一行,我相信它沒有正確添加它。 – Nishant

回答

0

我很好奇這部分:

[Ejb3AnnotationHandler] JBMETA-4: did not find any bean meta data for annotation bean OrderBean, will create some 

It seems to be that the problem是一個Jboss AS 5.1.0 GA的bug。

如果我正確理解該帖子,則問題源於您有一個空的META-INF/ejb-jar.xml文件。

我會盡力:

a)刪除文件。 (我認爲這足夠了)。

b)或嘗試用下一個來填補它:

<ejb-jar version="3.0" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 
</ejb-jar>