2010-03-16 42 views
14

我一直在試圖導入以下Web服務:http://soap.genome.jp/KEGG.wsdl使用$ {JAVA_HOME}/bin中/ wsimport的:的wsimport 「無法解析的名字......」

wsimport -version 
JAX-WS RI 2.1.6 in JDK 6 

,但我得到了以下錯誤:

parsing WSDL... 

[WARNING] src-resolve: Cannot resolve the name 'soapenc:Array' to a(n) 'type definition' component. 
    line 19 of http://soap.genome.jp/KEGG.wsdl#types?schema1 

[ERROR] undefined simple or complex type 'soapenc:Array' 
    line 19 of http://soap.genome.jp/KEGG.wsdl 
(....) 

問題來自WSDL還是來自wsimport的實現?我應該使用其他工具嗎?

感謝

皮埃爾

回答

30

soapenc:Array表明所謂的 「RPC編碼」 Web服務編碼的非標準的風格。這是一種非常古老的風格,曾經在微軟平臺上流行;它已經過時(即它不是WS-I規範的一部分),並且不受現代工具(如JAX-WS)的支持。

我知道的唯一支持RPC編碼Web服務的java工具是Apache Axis 1

+0

請告訴我如何將RPC /編碼風格的wsdl轉換爲一些新的支持風格? – rineez

+0

U可以使用神祕的Axis1,然後在其上編寫自己的REST API。爲什麼甚至打擾創建一個wsdl? –