0

我们有一个旧的 JBoss 3.2.3 服务器,它托管一个应用程序并公开 EJB 以进行远程访问。

此应用程序多年来只进行了小规模维护,我们并没有努力将其迁移到应用服务器的较新版本。

现在,我们正在将它与另一个应用程序集成,并且我们还需要公开 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 和库,但我想避免与现有库重叠。

4

1 回答 1

0

JBoss 3.2.3.GA不是完全兼容的 J2EE 1.4 服务器。例如,它没有实现 EJB 2.1 接口,只有 EJB 2.0 [ 1 ]。

此外,JBoss 4.0宣布成为第一个符合 J2EE 1.4 的服务器;我的结论是 JBoss.org 没有证明 JBoss 3.2.3 是合规的。

即使不兼容,JBoss 3.2.3 也有一些使用 SOAP Web 服务的特性。例如,它附带 Apache Axis 1.1 和 JAX-RPC api,因此可以轻松地为服务器外部的 WS 客户端生成 Java 类,并让它们在企业应用程序中运行。

公开 Web 服务是一项更加困难的任务。公开 Web 服务的一种方法是创建无状态 EJB 并将其公开为 web 服务端点。但是,这是 EJB2.1 规范的一部分,在 3.2.3 中不可用。

太糟糕了 !最后,我们将寻找其他方法来公开我们的 Web 服务。

较新的 JavaEE 规范和服务器更容易开发。旧的规范和服务器让 JavaEE 名声不佳。

于 2013-10-09T15:36:33.650 回答