我使用 Axis2 创建了一个 Web 服务。而且编写、测试和运行它都非常容易。
但现在我有现有的 Java Web 应用程序在 Tomcat 下运行,我想向它添加 Web 服务。例如。而不是处理 POST 和 GET 参数并生成 HTML 我想接收 SOAP 消息,处理它并再次将响应作为 SOAP 消息返回。
哪些技术/框架/库/等。应该怎么用?
最好应该像为 Axis2 编写 Web 服务一样容易。
最佳答案
一个可能的工作流程是:
- 重构您的网络应用,以便业务逻辑在单独的方法中实现,
doPost()
和doGet()
仅调用这些方法。 - 从网络应用类中提取业务方法的接口(interface)。
- 运行
java2wsdl
将上述接口(interface)及其相关类型转换为WSDL规范。 - 使用服务器端绑定(bind)运行
wsdl2java
以生成骨架类和其他辅助类。 - 将骨架类替换为原始网络应用类(或将相关方法从网络应用复制到骨架类)。
- 删除多余的
doPost()
和doGet()
方法,删除旧的网络应用。
等等!您有一个 Axis2/Tomcat Web 服务。它需要一些重构,但不改变核心逻辑。
关于java - 在 Tomcat 下运行的现有 Web 应用程序中将 Java 类公开为 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144781/