2013-10-08 29 views
0

我們有一箇舊的JBoss 3.2.3服務器,它託管了一個應用程序並公開了用於遠程訪問的EJB。舊的JBoss 3.2.3中的Web服務.GA

該應用程序僅在幾年內得到小量維護,我們沒有付出一些努力將其遷移到應用服務器的新版本。

現在,我們正在將它與另一個應用程序集成在一起,並且我們還需要公開SOAP Web服務。

起初,我並不擔心,因爲JBoss的3.2.3宣佈遵從J2EE 1.4規範(JSR151),它指定的Web服務API的:Web服務(JSR109)和JAXRPC(JSR101)。

但是,我第一次使用JAX-RPC api 進行部署失敗了,因爲JBoss沒有找到JAX-RPC類。

所以我的問題是:

  • 是的JBoss 3.2.3真的是J2EE 1.4應用服務器?缺乏JAX-RPC類似乎表明了其他情況。
  • 什麼是公開在JBoss 3.2.3中的Web服務的API?
  • 什麼是消耗來自部署在JBoss 3.2.3中的EJB的Web服務的API?

最後,我總是可以在應用程序中部署更多的API和庫,但是我想避免重疊現有的庫。

回答

0

JBoss 3.2.3.GA是而不是完全符合J2EE 1.4服務器。例如,它沒有實現EJB 2.1接口,只有EJB 2.0 [1]。其他,JBoss 4.0 announces being the first J2EE 1.4 compliant server;我認爲JBoss.org沒有將JBoss 3.2.3認證爲合規。

即使不符合規定,JBoss 3.2.3也具有一些消費SOAP Web服務的功能。例如,它隨Apache Axis 1.1和JAX-RPC API一起提供,因此可以輕鬆地爲服務器外部的WS客戶端生成Java類,並讓它們在企業應用程序中運行。

暴露Web服務是一項比較困難的任務。公開Web服務的一種方法是create a Stateless EJB and expose it as a webservice endpoint。但是,這是EJB2.1規範的一部分,它在3.2.3中不可用。

太糟糕了!最終,我們將尋找其他替代方法來公開我們的Web服務。

較新的JavaEE規範和服務器更容易開發。 JavaEE是一個糟糕的代表,它是舊的規格和服務器。