如何在 Java 中制作 soap 客户端?

How to make a soap client in Java?

关于如何在 Java 中制作 soap 客户端,我已经阅读了许多关于堆栈溢出的答案,但我仍然无法理解它。

要求

1) 我一直在使用 loadrunner 来发出 Soap 请求,但我打算停止使用该产品并想制作一个简单的 Java soap 客户端。

2) 我需要自动化 soap 客户端来每天测试 web 服务并生成日志。将同时测试 20-25 个 soap web 服务。我怎样才能实现它?

3) 我已经了解了 SAAJ 和 JAX-WS,但我发现它们太复杂了,我也不知道如何在请求中使用自定义 HTTP headers。

看来我又在设计Loadrunner了。所以我的问题是实现上述要求的步骤是什么。

我有一个 wsdl 文件、证书、URL 和一些要包含在请求中的自定义 HTTP headers。

此外,我是否应该先使用 SOAPUI 生成请求 xml,这样会更好吗?

尽管我很喜欢 Java,如果您有可用的 soapUI,为什么要重新编写自己的 Web 服务客户端来重新发明轮子? JAX-WS 和 SAAJ 可以做你需要的所有事情;您只需要深入研究 API 并进行实验。

如果听起来您又在设计 LoadRunner,那为什么不坚持使用 LoadRunner?它是免费的并与 soapUI 集成,但与所有工具一样,它有一个学习曲线需要协商。有其他选择,例如 Apache JMeter,但同样需要时间才能跟上速度。

此外,LoadRunner 可能不是适合您的用例的工具。如果您只是自动化测试,而不是性能或负载测试,那么将普通的旧 soapUI 与 Jenkins 之类的东西结合使用可能是更好的选择。