【问题标题】:how the web service and web application can communicate while residing in a single web project驻留在单个 Web 项目中的 Web 服务和 Web 应用程序如何进行通信
【发布时间】:2013-10-17 05:23:41
【问题描述】:

有一个网络应用程序。它在 Apache Tomcat 5.5 上运行。现在的要求是我必须在其中集成一个模块,该模块将充当 Web 服务并保持此 Web 应用程序完好无损,即此 Web 应用程序将有两个部分,一个用作 SOAP Web 服务,另一个用作 Web 应用程序。

我已经通过将 AXIS2 集成到 Web 应用程序中来进行尝试。我已经在现有的 web 项目中包含了axis2 jars 并生成了 .aar 文件。 Web 应用程序本身包含axis2 引擎。我已将 web 项目部署为 Tomcat 中的战争并运行该项目。

我的应用程序正在运行,Web 服务正在其端点监听。

下面是项目的目录结构:

我的问题是网络服务模块(.aar)和网络应用程序模块如何相互通信?

【问题讨论】:

  • 如果web服务完好,发送请求,它会发回响应,相应地处理响应
  • @HussainAkhtarWahid 还有其他选择吗?实际上它是一种双向通信。 WebApp -> WebService 和 WebService->WebApp.

标签: java web-services jakarta-ee axis2 tomcat5.5


【解决方案1】:

现在的要求是我必须在其中集成一个模块 充当 Web 服务并保持此 Web 应用程序完好无损

假设你有一个基本的 MVC 布局:

View (JSP Files) [Top]
      |
Controllers (Java Classes)
      |
Model (Database Abstraction Layer) [Bottom]

由于您必须将它们集成,因此您可以这样做:

View (JSP Files)          Web Service Interface (Axis)  [Top]
      |                         |
Controllers               Service Layer (Java Classes)  [Middle Layer]
      |                         |
      Model (Database Abstraction) [Bottom]

服务层的目的是隐藏数据库层并模仿控制器中可能存在的一些其他逻辑。这将允许 Web 服务层相对干净并且仅用作包装器。

【讨论】:

  • 模型不能在两者之间通用,因为 WebService 部分包含在 .aar 中。你能帮我理解你想说什么吗?
  • @Infotechie:您实际上是在 Web 应用程序中添加了一个名为 Service Layer 的新层。然后将该层暴露给可以使用它的 Web 服务。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多