java - 构建 SOAP XML Web 服务,将数据存储到 DB 并将结果响应给客户端
问题描述
我已被分配构建 SOAP XML Web 服务,该服务执行以下操作:
- 侦听来自客户端应用程序的 SOAP 请求,该请求将发送 2 个参数(登录名,product_id)的值
- 将 SOAP 请求/出站响应事务存储到 SQL 数据库表
- 正在检查数据库中是否已经存在登录名。如果是,则向客户端发送响应。如果不是,则将值存储在数据库中并返回给客户端
我打算做这个JAVA。谁能指出我应该如何做到这一点的正确方向?提前感谢您的任何反馈。
解决方案
要构建 SOAP XML Web 服务,您需要 Web 服务提供者和 Web 服务客户端。为此,有两种方法:
- 自顶向下
自上而下是为客户端和提供者定义 Web 服务规则的正确方法。自上而下意味着您必须首先创建一个 WSDL 文件才能从中生成存根来创建提供者和客户端。
- 自下而上
底部用于遗留应用程序,将已经存在的应用程序公开为 Web 服务
Wsdl to java 是一个用于从 wsdl 文件中生成存根(类)的插件。在从中创建 wsdl 和存根之后……您需要使用 JAX-B 注释和服务方法(您的 Web 服务业务逻辑方法)用 JAX-WS 注释标记 pojo。为此,您可以使用 Apache CXF JAX-WS Maven Dependency 或其他。之后,您需要为使用来自 JAX-WS 的总线和 Endpoint 类创建的 Web 服务发布一个 Endpoint。
暴露服务后,您可以使用相同的 wsdl 生成客户端,或者在不创建客户端的情况下,您可以使用 SOAP UI 工具测试您的 Web 服务。
关注此链接了解更多!
推荐阅读
- dart - dart 中第 2d 列列表的洗牌
- r - 在 cor.test 中查看描述性摘要
- configuration - 永久禁用 gdb 启动文本
- sql - Rails:一次加载关联与多个微小查询
- python - NetworkX 中的弯曲边缘
- discord.py - 我正在尝试向已设置频道的每个人发送消息,但发送消息时遇到问题
- python-3.x - 如何计算python中指数值的均值和标准差?
- firebase - Flutter 将数据发送到 Firebase。(cupertinopicker 的问题)
- javascript - 尽管承诺未解决,脚本仍结束
- dialogflow-es - Dialogflow 在测试控制台中工作,但不能通过谷歌助手