我需要创建一个实现 Java ResultSet 接口的对象,从通用 SOAP 请求中获取数据(我需要在更高级别上使用这些 SOAP 结果集和 JDBC 结果集)。
正如我在标题中所写,SOAP 请求可以是通用的:它取决于传递的参数并且可以使用不同的 Web 服务,所以我只知道运行时的 wsdl 和 SOAP 服务将提供给我的结构。
在过去的几天里,我一直在试图弄清楚如何做到这一点,我提出了一些想法:
1- 将 SOAP 主体转换为 xml WebRowSet 文档,该文档可以解组为 WebRowSetImpl 类,该类实现 WebRowSet 接口(接口扩展 ResultSet)。在这种情况下,我必须从 WSDL 和 SOAP 响应文档开始即时制作自定义 XSLT。
2- 从 SOAP 响应创建 Java 对象,然后尝试使用 Java 对象中的数据映射和填充通用存根 JDBC 结果集
3- 将来自 SOAP 响应的所有数据存储到(规范化或非规范化)数据库中,然后使用任何 JDBC 驱动程序从数据库中读取。
您认为哪种方式总体上是最好的?最简单的方法是什么?