16

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

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 的实现?我应该使用其他工具吗?

谢谢

皮埃尔

4

2 回答 2

32

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

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

于 2010-03-16T14:40:26.317 回答
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/" />
于 2018-06-25T15:38:14.657 回答