Java wsimport";无法解析名称…“;

Java wsimport";无法解析名称…“;,java,web-services,wsdl,wsimport,Java,Web Services,Wsdl,Wsimport,我一直在尝试导入以下web服务:使用${JAVA_HOME}/bin/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.j

我一直在尝试导入以下web服务:使用${JAVA_HOME}/bin/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的实现?我应该使用其他工具吗

谢谢


Pierre

soapenc:Array表示一种称为“RPC编码”的非标准web服务编码样式。这是一种非常古老的风格,过去在微软平台上很流行;它已经过时(也就是说,它不是WS-i规范的一部分),而且像JAX-WS这样的现代工具也不支持它

据我所知,唯一支持RPC编码的web服务的java工具是。

我从这个bug报告中找到了(显然是)一个解决方法:

基本上,您需要将
schemaLocaion
添加到
import
定义中:

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"
        schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />


请告诉我如何将RPC/编码样式的wsdl转换为新支持的样式?您可以使用神秘的Axis1,然后在其上编写自己的REST API。为什么还要费心创建wsdl呢?