wsimport“无法解析名称……”
我一直在尝试导入以下Web服务: http : //soap.genome.jp/KEGG.wsdl with $ {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的实现? 我应该使用其他工具吗?
谢谢
皮埃尔
我从这个错误报告中找到了(显然)一个解决方法: https : //netbeans.org/bugzilla/show_bug.cgi?id = 116987
基本上,您需要将schemaLocaion
添加到import
定义中:
soapenc:Array
表示称为“RPC编码”的非标准样式的Web服务编码。 这是一种非常古老的风格,曾经在微软平台上流行; 它是过时的(即它不是WS-I规范的一部分),并且不受JAX-WS等现代工具的支持。
我所知道的唯一支持RPC编码Web服务的java工具是Apache Axis 1 。