2010-03-16 4 views
14

J'ai essayé d'importer le service Web suivant: http://soap.genome.jp/KEGG.wsdl avec $ {JAVA_HOME}/bin/wsimport:wsimport "ne peut pas résoudre le nom ..."

wsimport -version 
JAX-WS RI 2.1.6 in JDK 6 

mais je suis l'erreur suivante:

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

Le problème provient-il du WSDL ou de l'implémentation de wsimport? devrais-je utiliser un autre outil?

Merci

Pierre

Répondre

30

soapenc:Array indique un style non standard d'encodage de service Web appelé "encodage RPC". C'est un style très ancien qui était populaire sur les plates-formes Microsoft; il est obsolète (c'est-à-dire qu'il ne fait pas partie des spécifications WS-I) et n'est pas supporté par des outils modernes comme JAX-WS.

Le seul outil Java que je connaisse qui supporte les services Web codés RPC est Apache Axis 1.

+0

s'il vous plaît dites-moi comment puis-je convertir un wsdl dans le style RPC/Encodage à certains du nouveau style pris en charge? – rineez

+0

U pourrait utiliser l'arcane Axis1 et alors peut-être écrire votre propre API REST par-dessus. Pourquoi même pas la peine de créer un wsdl? –

Questions connexes