2010-06-06 24 views
3

我正在使用Netbeans 6.8。我可以看到在獨立的ejb模塊中創建Web服務的選項,但似乎無法找到在我的ejb模塊中創建基於REST的Web服務的選項。 ejb模塊中是否有任何限制,我只能創建基於SOAP的Web服務而不是RESTful?還是Netbeans 6.8的缺陷?爲什麼我無法在ejb模塊中創建RESTful Web服務?

+0

您是如何解決您的問題的,請您解釋一下嗎?你有沒有轉向肥皂或做了安息? – Yubaraj 2014-07-15 07:21:11

回答

3

的EJB3規範的第2.6章:

來支持Web服務 互操作性,在EJB SPECI網絡陽離子 需要使用WSDL和SOAP或 純XML在兼容實現對 支持基於XML的Web服務 調用HTTP問題 與JAX-WS [32],JAX-RPC [25],Web服務 的要求 JavaEE [31]和Web服務 Java平臺的元數據[30] speci fi cati附件。

換句話說:EJB3只能作爲SOAP Web服務公開。

+0

偉大的同樣的事情!謝謝。最後,我應該放棄在我的項目中使用RESTful Web服務的想法。 – TCM 2010-06-06 17:38:37

+0

不,我不同意。如果適用,請使用REST。你不應該指望用EJB3的支持。這並不意味着它不能或不應該完成。 – duffymo 2010-06-06 20:03:58

+0

我有同樣的疑問。我正在嘗試使ejb模塊成爲restfull Web服務。但我沒有得到任何資源。 @duffymo。從您的評論中,它讓我感到困惑。我不知道我的語言問題與否。但你不同意答案。我可以問一個問題嗎?我不想創建Web模塊並調用ejb。只想要ejb模塊在服務器上部署並以web服務運行。任何信息或鏈接將不勝感激。 – Yubaraj 2014-07-15 07:16:48

2

REST只是HTTP,通常是用servlet實現的,所以它自然會被添加到一個WAR文件中,該文件可能被打包到帶有EJB的EAR中。

我不相信EJBs知道或關心SOAP或REST。 EJB使用RMI作爲他們選擇的通信協議。

+1

嗨duffymo,Web服務在我看來也是Java類型的ejbs?因爲我們可以將web服務標記爲@Stateless,類似於ejbs。另外我的ejb模塊,順便說一句我說的是獨立的ejb模塊(.jar),而不是EAR包含Web服務(基於SOAP),它工作得很好。所有Web服務都在.jar(我的獨立ejb模塊)中,而不是.war – TCM 2010-06-06 17:29:50

+1

您可以用某種方式註釋EJB,以便應用程序。服務器會將其作爲Web服務公開,而不會向EJB項目添加任何更多內容。 – ewernli 2010-06-06 17:38:23

+0

是的ewernli,我說在我的評論 – TCM 2010-06-06 17:39:31

0

將包裝類寫入EJB,您將使用Jax-rs註釋將其標記爲restful webservice,同時支持CXF rest api或Jersey api。

相關問題