wsimport"无法解析名称......"

Pie*_*rre 15 java wsdl web-services wsimport

我一直在尝试导入以下Web服务:http://soap.genome.jp/KEGG.wsdl with $ {JAVA_HOME}/bin/wsimport:

wsimport -version
JAX-WS RI 2.1.6 in JDK 6
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

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
(....)
Run Code Online (Sandbox Code Playgroud)

问题来自WSDL还是来自wsimport的实现?我应该使用其他工具吗?

谢谢

皮埃尔

ska*_*man 32

soapenc:Array表示称为"RPC编码"的非标准样式的Web服务编码.这是一种非常古老的风格,曾经在微软平台上流行; 它已经过时(即它不是WS-I规范的一部分),并且不受JAX-WS等现代工具的支持.

我所知道的唯一支持RPC编码Web服务的java工具是Apache Axis 1.


Tas*_*eat 5

我从这个错误报告中找到了(显然是)一个解决方法:https : //netbeans.org/bugzilla/show_bug.cgi?id=116987

基本上你需要添加schemaLocaion到你的import定义中:

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"
        schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
Run Code Online (Sandbox Code Playgroud)