用于Java的轻量级SOAP客户端库

Mik*_*eck 15 java soap

任何人都可以推荐一个好的Java开源库来构建一个简单的SOAP Web服务客户端吗?我正在寻找可在Java 5 SE环境中运行的具有最小依赖性和配置的东西.升级到Java 6并不是这个项目的一个选项,如果我可以避免使用它,我宁愿避免使用完整的J2EE容器.我不需要发布和服务,只需要消费.

我目前正在使用Axis2,但我必须提供大约15MB的额外罐子才能在没有NoClassDefFoundError的情况下对Web服务进行简单的调用,而且我正在寻找一些不那么臃肿的东西.

我也看过CXF,但我不愿意使用它,因为它与Spring紧密耦合.Spring不是100%的交易破坏者,但如果可能的话,我宁愿避免它.

有什么建议?

Mar*_*szS 13

尝试使用简单的soap-ws库,它非常易于使用.

一个轻量级且易于使用的Java库,用于在纯XML级别上处理SOAP.

样品用法

 SoapClient client = SoapClient.builder()
    .endpointUri("http://example.com/endpoint")
    .build();

 client.post(envelope);
Run Code Online (Sandbox Code Playgroud)

依赖

<dependency>
    <groupId>org.reficio</groupId>
    <artifactId>soap-client</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

来自存储库

<repository>
    <id>reficio</id>
    <url>http://repo.reficio.org/maven/</url>
</repository>
Run Code Online (Sandbox Code Playgroud)


sta*_*ker 7

在Spring 3.0中,他们将大spring.jar拆分成了可以减小尺寸的模块.

检查Spring Web Services

WS客户端示例

缺点是你必须管理很多jar之间的依赖关系,如果你不想引入maven,这可能会变得很复杂.这就是为什么我还在使用轴的原因(其中包括兼容性问题).