使用 Maven 从 WSDL 获得的简单(独立)Java SOAP Web 服务客户端

2022-09-04 21:17:54

我希望生成一个简单的独立Java客户端,它将调用SOAP Web服务,给定一个wsdl。当我说简单和独立时,我的意思是,一旦我完成了,我希望能够做这样的事情

import my.generated.nonsense;

public static void main(String[] args) {
    Client client = new Client();
    client.getSomething();
}

我最近和Maven在其他一些项目上玩得很开心,我想继续下去,所以打算在这里使用它。我不希望该工具生成任何允许我执行上述操作的类。

有人最近这样做了,可以推荐一个ws库和Maven插件吗?谢谢。


答案 1

看看CXF及其Maven插件。CXF将生成类似于您的代码(当然,Web服务可能会失败,您应该添加异常处理)。请记住,SOAP Web服务是一个复杂的主题,生成的代码中的简单性可能并不总是可取的。使用默认设置生成客户端可能不适用于某些客户端。然后,您需要调整代码生成的配置和/或添加代码来处理它。CXF 既适用于简单/默认客户端,也适用于更复杂的客户端。


答案 2

我会推荐SOAP UI来满足你需要做的事情。您不需要编写任何代码 - 您可以从 soap UI 客户端调用 Web 服务。

如果您需要自动进行 soap 调用,则可以使用 maven 插件作为构建/部署过程的一部分。有关 maven 插件的更多信息,请访问: http://www.soapui.org/Test-Automation/maven-2x.html


推荐