java - 在 Tomcat 下运行的现有 Web 应用程序中将 Java 类公开为 Web 服务

标签 java web-services tomcat apache-axis

我使用 Axis2 创建了一个 Web 服务。而且编写、测试和运行它都非常容易。

但现在我有现有的 Java Web 应用程序在 Tomcat 下运行,我想向它添加 Web 服务。例如。而不是处理 POST 和 GET 参数并生成 HTML 我想接收 SOAP 消息,处理它并再次将响应作为 SOAP 消息返回。

哪些技术/框架/库/等。应该怎么用?

最好应该像为 Axis2 编写 Web 服务一样容易。

最佳答案

一个可能的工作流程是:

  1. 重构您的网络应用,以便业务逻辑在单独的方法中实现,doPost()doGet() 仅调用这些方法。
  2. 从网络应用类中提取业务方法的接口(interface)。
  3. 运行java2wsdl将上述接口(interface)及其相关类型转换为WSDL规范。
  4. 使用服务器端绑定(bind)运行 wsdl2java 以生成骨架类和其他辅助类。
  5. 将骨架类替换为原始网络应用类(或将相关方法从网络应用复制到骨架类)。
  6. 删除多余的doPost()doGet()方法,删除旧的网络应用。

等等!您有一个 Axis2/Tomcat Web 服务。它需要一些重构,但不改变核心逻辑。

关于java - 在 Tomcat 下运行的现有 Web 应用程序中将 Java 类公开为 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144781/

相关文章:

java - ElasticSearch 占用 100% CPU

.net - 从 Web 服务调用重定向到网页

java - 使用 SMSLib 和 Web 服务发送 SMS

tomcat - 单独的异常日志文件

http - NullPointerException 被屏蔽为 HTTP 405 错误

java - 用于构建多个android项目的脚本

java - 动态创建变量,java变量的数据类型

java - CXF : No method was found for the WSDL operation

java.net.SocketException : Software caused connection abort: recv failed; Causes and cures? 异常

java - 银行账户分配