2010-12-03 67 views
2

我正在創建一個Spring WS客戶端。我有一個來自第三方公司的巨大的 WSDL。它們提供了一組通過Axis的WSDL2Java映射到其WSDL的類。我不想使用Axis或它們的任何依賴關係。Spring WS客戶端 - 如何在不使用軸的情況下爲WSDL創建映射POJO

由於這是一個Web服務客戶端,我可以自由選擇任何框架。我的問題是如何在不使用Axis的WSDL2Java的情況下爲WSDL生成映射類。我堅持操縱純XML嗎?記下我正在使用Spring WS。

編輯:

是不是真的,如果服務供應商已建立自己的服務與軸1,你基本上堅持讓這也是基於軸1客戶端?我從這個答案JAX-WS client with Axis service中讀到。我認爲Web服務應該與其創建的平臺分離或至少獨立,允許基於.Net的Web服務從基於Java的客戶端訪問,反之亦然?

+0

順便說一下,我可以通過Soap UI訪問Web服務。 – chris 2010-12-03 10:46:35

+0

它取決於WSDL的風格。 Axis1 *可以*生成非標準的WSDL,這是沒有別的可以與之交談的。 – skaffman 2010-12-03 10:47:09

回答

3

如果你想使用Spring-WS,那麼你最好的辦法是使用Java 6附帶的wsimport工具(或者如果你使用Java5的話使用JAX-WS RI)。這將爲Web服務生成JAX-WS存根。包含在這些存根中的將是WSDL模式的標準JAXB綁定,並且這些可以與Spring-WS一起使用(wsimport將生成其他服務存根,而Spring-WS將不需要這些存根)。

1

如果您只想從WSDL生成POJO,我認爲您可以從WSDL獲取XSD並使用XJC工具生成僅JAXB bean。這將避免生成無用的JAX-WS存根。

相關問題