WSDLException : Une erreur est survenue en essayant de résoudre schéma référencé à
Je suis en train de générer une classe proxy à partir d'un local de fichier WSDL avec eclipse Galileo et de l'axe 2 1.4 sur windows xp . Mon problème est que j'obtiens une erreur due à l'importation d'un schéma à l'intérieur du WSDL . La ligne tha m'inquiète, c'est :
<xsd:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>
J'ai essayé d'exécuter la wsdl2java commande suivante:
wsdl2java.bat -uri SOAService.wsdl -o D:\temp p test -d xmlbeans -a -s -ns2p -uw
et j'obtiens l'exception suivante:
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException
: Error parsing WSDL
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
ionEngine.java:156)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:ty
pes/xsd:schema): faultCode=OTHER_ERROR: An error occurred trying to resolve sche
ma referenced at 'http://www.w3.org/2005/05/xmlmime', relative to 'file:/D:/Prog
rammi/axis2-1.4/bin/SOAService.wsdl'.: java.net.ConnectException: Connection tim
ed out: connect
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(
CodeGenerationEngine.java:288)
at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerat
ionEngine.java:111)
... 2 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:520)
at java.net.Socket.connect(Socket.java:470)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
at sun.net.www.http.HttpClient.New(HttpClient.java:304)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC
onnection.java:813)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne
ction.java:765)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection
.java:690)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:934)
at java.net.URL.openStream(URL.java:1007)
at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source)
Je suppose que c'est dû au système de proxy qui ne permet pas de récupérer le xsd pour le wsdl2java outil. En fait je peux télécharger le fichier depuis le navigateur sans problèmes.
Il y a une option pour spécifier un proxy pour wsdl2java ou quelqu'un a résolu ce problème ?
Pour le moment, j'ai téléchargé le fichier XSD, ajouté au projet et a changé le WSDL pour inclure le fichier relatif (au lieu de la distance) , mais je préfère éviter cela , parce que le fichier est un service tiers WSDL.
Je vous remercie à l'avance pour tout conseil.
OriginalL'auteur | 2010-02-01
Vous devez vous connecter pour publier un commentaire.
Je pense que j'ai eu le même problème et ci-dessous comment je l'ai résolu en utilisant java
-D
optionVoir si cela vous aide. Ce qui concerne
OriginalL'auteur Praveena
Cette solution peut ne pas fonctionner asis en fonction de l'utilisateur de l'installation. Il n'est pas mentionné dans la solution de l'-Dhttp.nonProxyHosts={liste des hôtes à exclure} option qui peut être nécessaire si votre serveur qui exécute les services de la région et il y a des références à des fichiers xml hébergé à l'extérieur de votre environnement ou si votre proxy n'est pas le programme d'installation pour répondre aux demandes locales.
OriginalL'auteur Achille