轻量级 SOAP Client Library for Java [已关闭]

2022-09-03 13:27:33

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

我目前正在使用Axis2,但我必须拉入大约15MB的额外jars才能对没有NoClassDefFoundError的Web服务进行简单的调用,我正在寻找一些膨胀更少的东西。

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

有什么建议吗?


答案 1

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

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

示例用法

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

 client.post(envelope);

屬地

<dependency>
    <groupId>org.reficio</groupId>
    <artifactId>soap-client</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>

从存储库

<repository>
    <id>reficio</id>
    <url>http://repo.reficio.org/maven/</url>
</repository>

答案 2

在春季3.0中,将大弹簧.jar拆分为模块,这将减小尺寸。

查看春季网络服务

WS 客户端示例

缺点是你必须管理很多jar之间的依赖关系,如果不想引入maven,这可能会变得复杂。这就是我仍然使用axis的原因(以及其他诸如兼容性问题)的原因。


推荐