在 Java 中创建 SOAP WS 并将请求作为字符串获取
Creating SOAP WS in Java and get the request as a String
我想知道是否真的可以在不使用 WSDL 的情况下创建 Java SOAP Web 服务。
上下文:
我的想法是我必须模拟一个网络服务,所以我有它的 WSDL。模拟将只读取 soap 请求,搜索是否有任何类似的请求(作为映射中的键)并发送匹配的响应(作为它的值)。这是为了自动化测试目的。问题不在于 "map" 部分。
无论如何,我一直在使用 Axis 和 eclipse 生成 类 和文件,并将它们从 WSDL 加载到 tomcat 中。到目前为止,情况一团糟,这些组件之间存在很多兼容性问题。而且通过这种方式比较输入或序列化输出以执行我想要的操作会更加困难。
我想过创建一个 REST 端点并通过它发送 soap 请求(这样我就可以直接获得 SOAP 请求!),但我发现 soap 请求无效并且不会被REST 端点...此外,如果此地址没有 WSDL,客户端应用程序是否会抛出错误?
我的问题是:
有没有办法创建一个访问点,它看起来像一个 SOAP Web 服务(来自客户端),但它允许我获得完整的 soap 请求(例如作为一个字符串)并发送一个响应(仍然是Java 应用程序中的字符串)?
互补:
我正在寻找一些东西,一个库,也许只是 Servlet 上的注释,它不需要(如果可能的话)到处生成大量 类 和 xml 文件.该应用程序将是 运行 on tomcat(但我可以是一个基本的 Java 应用程序)。使用 maven 和 spring 不会有问题。
提前致谢!
通常,客户端不需要 WSDL。但这是一个很好的特性——使用普通的 servlet 并手动处理“?WSDL”。然后使用一些简单的 XPath 或解析逻辑将有效负载提取为 DOM 文档。
我想知道是否真的可以在不使用 WSDL 的情况下创建 Java SOAP Web 服务。
上下文:
我的想法是我必须模拟一个网络服务,所以我有它的 WSDL。模拟将只读取 soap 请求,搜索是否有任何类似的请求(作为映射中的键)并发送匹配的响应(作为它的值)。这是为了自动化测试目的。问题不在于 "map" 部分。
无论如何,我一直在使用 Axis 和 eclipse 生成 类 和文件,并将它们从 WSDL 加载到 tomcat 中。到目前为止,情况一团糟,这些组件之间存在很多兼容性问题。而且通过这种方式比较输入或序列化输出以执行我想要的操作会更加困难。
我想过创建一个 REST 端点并通过它发送 soap 请求(这样我就可以直接获得 SOAP 请求!),但我发现 soap 请求无效并且不会被REST 端点...此外,如果此地址没有 WSDL,客户端应用程序是否会抛出错误?
我的问题是:
有没有办法创建一个访问点,它看起来像一个 SOAP Web 服务(来自客户端),但它允许我获得完整的 soap 请求(例如作为一个字符串)并发送一个响应(仍然是Java 应用程序中的字符串)?
互补:
我正在寻找一些东西,一个库,也许只是 Servlet 上的注释,它不需要(如果可能的话)到处生成大量 类 和 xml 文件.该应用程序将是 运行 on tomcat(但我可以是一个基本的 Java 应用程序)。使用 maven 和 spring 不会有问题。
提前致谢!
通常,客户端不需要 WSDL。但这是一个很好的特性——使用普通的 servlet 并手动处理“?WSDL”。然后使用一些简单的 XPath 或解析逻辑将有效负载提取为 DOM 文档。