我在eclipse id中創建了一個EJB項目,該項目將從數據庫檢索數據並將數據寫入數據庫。我使用JPA做了數據庫處理部分。現在我想將其轉換爲Web服務。我搜索了兩天,但每個指南都讓我困惑了很多問題。 一些教程說只需在無狀態bean類中添加@webservice,@ webmethod註釋,但是即使沒有部署,eclipse也會提供錯誤。請有人幫助我前進。如何在Webservice中使用EJB3
謝謝。 Isuru
我在eclipse id中創建了一個EJB項目,該項目將從數據庫檢索數據並將數據寫入數據庫。我使用JPA做了數據庫處理部分。現在我想將其轉換爲Web服務。我搜索了兩天,但每個指南都讓我困惑了很多問題。 一些教程說只需在無狀態bean類中添加@webservice,@ webmethod註釋,但是即使沒有部署,eclipse也會提供錯誤。請有人幫助我前進。如何在Webservice中使用EJB3
謝謝。 Isuru
這的確是不夠的,只是添加註釋:
@Stateless
@WebServicepublic
class MySessionBean {
public void doSomething() { … }
}
默認情況下,所有公共方法都暴露在web服務。如果你想限制它,你必須添加@Webmethod到所有應該暴露的方法。
除此之外,你應該告訴我們你得到了哪些錯誤。
對我來說,Eclipse不抱怨這一點:
package ord.djna.ejb;
import javax.ejb.Local;
import javax.jws.WebService;
@Local
@WebService
public interface TheFacadeLocal {
int countItems();
}
請告訴我們你的代碼。
Thanx的幫助,現在它正在工作。 – Isuru
嘗試下載Eclipse for Java EE並使用無狀態會話Bean創建新項目。看看這些註釋是否有效,我猜想它在eclipse中的'java build path'設置有問題。
但是,如果您需要將它變成WS,爲什麼要使用EJB?因爲EJB本身是一個分佈式組件。不要讓一個簡單的DAO類來處理數據庫操作,而是讓一個服務來處理操作並將該服務發佈爲Web服務。 Eclipse提供插件來從任何POJO類創建WS。它將在部署代碼時生成WSDL。 – Parth
@Paarth從無狀態會話Bean暴露WS接口是合理的。我同意這不是唯一的方式,但是Isuru所嘗試的應該是可能的。 – djna