[英]Lightweight SOAP Client Library for Java
任何人都可以推薦一個好的Java開源庫來構建一個簡單的SOAP Web服務客戶端嗎? 我正在尋找可在Java 5 SE環境中運行的具有最小依賴性和配置的東西。 升級到Java 6並不是這個項目的一個選項,如果我可以避免使用它,我寧願避免使用完整的J2EE容器。 我不需要發布和服務,只需要消費。
我目前正在使用Axis2,但我必須提供大約15MB的額外罐子才能在沒有NoClassDefFoundError的情況下對Web服務進行簡單的調用,而且我正在尋找一些不那么臃腫的東西。
我也看過CXF,但我不願意使用它,因為它與Spring緊密耦合。 Spring不是100%的交易破壞者,但如果可能的話,我寧願避免它。
有什么建議?
嘗試使用簡單的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>
在Spring 3.0中,他們將大spring.jar拆分成了可以減小尺寸的模塊。
缺點是你必須管理很多jar之間的依賴關系,如果你不想引入maven,這可能會變得很復雜。 這就是為什么我還在使用軸的原因(其中包括兼容性問題)。
經過一段時間的研究,原始的SAAJ API( https://saaj.dev.java.net/ )是我發現的唯一一個比基於它構建的Spring WS庫更精簡的東西。 SAAJ的問題在於,除非您願意使用極其冗長的API來構建消息的XML有效負載,否則它幾乎無法使用。 有辦法繞過這個並使用類似JAXB的東西來生成實際的消息內容,但它不是很干凈,而Spring WS本質上就是這樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.