2011-07-27 44 views
0

我在eclipse id中創建了一個EJB項目,該項目將從數據庫檢索數據並將數據寫入數據庫。我使用JPA做了數據庫處理部分。現在我想將其轉換爲Web服務。我搜索了兩天,但每個指南都讓我困惑了很多問題。 一些教程說只需在無狀態bean類中添加@webservice,@ webmethod註釋,但是即使沒有部署,eclipse也會提供錯誤。請有人幫助我前進。如何在Webservice中使用EJB3

謝謝。 Isuru

+0

但是,如果您需要將它變成WS,爲什麼要使用EJB?因爲EJB本身是一個分佈式組件。不要讓一個簡單的DAO類來處理數據庫操作,而是讓一個服務來處理操作並將該服務發佈爲Web服務。 Eclipse提供插件來從任何POJO類創建WS。它將在部署代碼時生成WSDL。 – Parth

+0

@Paarth從無狀態會話Bean暴露WS接口是合理的。我同意這不是唯一的方式,但是Isuru所嘗試的應該是可能的。 – djna

回答

0

這的確是不夠的,只是添加註釋:

@Stateless 
@WebServicepublic 
class MySessionBean { 
    public void doSomething() { … } 
} 

默認情況下,所有公共方法都暴露在web服務。如果你想限制它,你必須添加@Webmethod到所有應該暴露的方法。

除此之外,你應該告訴我們你得到了哪些錯誤。

0

對我來說,Eclipse不抱怨這一點:

package ord.djna.ejb; 
import javax.ejb.Local; 
import javax.jws.WebService; 

@Local 
@WebService 
public interface TheFacadeLocal { 

    int countItems(); 

} 

請告訴我們你的代碼。

+0

Thanx的幫助,現在它正在工作。 – Isuru

0

嘗試下載Eclipse for Java EE並使用無狀態會話Bean創建新項目。看看這些註釋是否有效,我猜想它在eclipse中的'java build path'設置有問題。