2010-03-16 40 views
14

Ho cercato di importare il seguente servizio web: http://soap.genome.jp/KEGG.wsdl con $ {} JAVA_HOME/bin/wsimport:wsimport "Impossibile risolvere il nome ..."

wsimport -version 
JAX-WS RI 2.1.6 in JDK 6 

ma ho ottenuto il seguente errore:

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 
(....) 

Il problema deriva dal WSDL o dall'implementazione di wsimport? dovrei usare un altro strumento?

Grazie

Pierre

risposta

30

soapenc:Array indica uno stile di non-standard di codifica servizio web chiamato "RPC Codifica". Questo è uno stile molto vecchio che era popolare nelle piattaforme Microsoft; è obsoleto (cioè non fa parte delle specifiche WS-I) e non è supportato da strumenti moderni come JAX-WS.

L'unico strumento java che io conosca che supporti i servizi Web codificati RPC è Apache Axis 1.

+0

per favore dimmi come posso convertire un wsdl in stile RPC/Encoding in alcuni dei nuovi stili supportati? – rineez

+0

U potrebbe usare l'arcano Asse1 e quindi magari scrivere la propria API REST sopra di essa. Perché preoccuparsi di creare un wsdl? –

Problemi correlati