簡體   English   中英

為Web服務編寫Java客戶端的最佳方法是什么?

[英]What is the best way to write a java client for a web service?

我有一個項目即將要求我從我的java應用程序調用SOAP Web服務。 我想知道我應該看哪些工具集來做到這一點? 所有建議都贊賞。

我看過jax-ws和Axis2,但這些似乎主要是針對Web服務的創建者而不是消費者,我只想消費。

謝謝!

首先,你需要 一些服務提供者可能會分發Java客戶端類,但WSDL是最安全的方法。

一旦你擁有它,運行像wsdl2java這樣的工具用於類似於 它將創建一堆Java類(您只需要客戶端)。 這些工具還能夠生成服務器端代碼,因此您對服務開發人員的目標很明顯。

這就是您所需要的 - 客戶端類將為您處理XML編組/解組和HTTP連接。 只需使用適當的存根實現WS端點接口。

您還可以使用產品組合中的WebServiceTemplate

Jax-WS附帶了一個名為wsimport的工具,您可以針對SOAP服務的.wsdl運行該工具。 它會生成一大堆類,客戶端可以使用這些類與服務進行交互。 之后,它只是簡單的Java編碼。

如果您正在使用eclipse,您可能希望查看此解決方案:

從RPC編碼的WSDL生成Java客戶端的最簡單方法是什么?

如果需要快速功能的客戶端,可以使用JAX-WS工具生成使用Web Service所需的代碼。 但有時這種方法可以生成不可移植的代碼(就像使用Websphere工具一樣)但是生產力的提高可能值得。

Spring Framework還提供了構建和使用Web服務的工具,但它需要一些額外的工作來開發客戶端,並且可能需要使用JAXB或Castor等技術手動映射輸入/輸出消息。 您也可以使用Spring直接讀取XML,它是一個靈活的框架,可以確保容器之間的可移植性,但需要額外的工作和時間。

每種方法都有利有弊。 由你來決定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM