wsimport „Kann nach den Namen nicht auflösen ...“
-
20-09-2019 - |
Frage
Ich habe versucht, den folgenden Web-Service zu importieren: http://soap.genome.jp/ KEGG.wsdl mit $ {JAVA_HOME} / bin / wsimport:
wsimport -version
JAX-WS RI 2.1.6 in JDK 6
, aber ich habe die folgenden Fehler:
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
(....)
Does kommt das Problem aus der WSDL oder aus der Umsetzung von wsimport? soll ich ein anderes Tool verwenden?
Danke
Pierre
Lösung
fand ich (was offenbar ist) eine Abhilfe von diesem Bug-Report: https://netbeans.org/bugzilla/show_bug.cgi?id=116987
Im Grunde müssen Sie schemaLocaion
auf Ihre import
Definition hinzuzufügen:
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"
schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
Andere Tipps
soapenc:Array
gibt einen Nicht-Standard-Stil von Web-Service-Encoding "RPC-Codierung" bezeichnet. Dies ist eine sehr alte Art, die auf Microsoft-Plattformen populär verwendet; es ist veraltet (das heißt, es ist nicht Teil der WS-I-Spezifikation ist) und nicht durch moderne Tools wie JAX-WS unterstützt.
Das einzige Java-Tool, dass ich an diesen Stützen RPC codierte Web-Services kennen, ist Apache Axis 1 .