2010-12-11 83 views
0

J'essaie de créer des fichiers java à partir de wsdl en utilisant le convertisseur wsdl2java axis2. Le problème est que je continue à obtenir cette exception étrange, que je ne peux pas vraiment expliquer.Apache axis2 wsdl2java exception: protocole inconnu: d

En ce moment j'utilise l'exemple de code dans Wikipedia pour le tester.

Fondamentalement, j'appelle le programme comme celui-ci

wsdl2java -o "D:\Examples\SOAP" -wv 2 -uri "D:\Examples\test.wsdl" 

Et chaque fois que je reçois cette exception

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException 
: Error parsing WSDL 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:159) 
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: WSDLException: faultCode=ERROR: Exception occured while reading WSDL 
2.0 doc: unknown protocol: d: org.apache.axis2.AxisFault: unknown protocol: d 
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.readInTheWSDL 
File(WSDL20ToAxisServiceBuilder.java:1172) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.<init>(WSDL20 
ToAxisServiceBuilder.java:153) 
    at org.apache.axis2.description.WSDL20ToAllAxisServicesBuilder.<init>(WS 
DL20ToAllAxisServicesBuilder.java:53) 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:102) 
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: java.net.MalformedURLException: unknown protocol: d 
    at java.net.URL.<init>(URL.java:574) 
    at java.net.URL.<init>(URL.java:464) 
    at java.net.URL.<init>(URL.java:413) 
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) 
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.readInTheWSDL 
File(WSDL20ToAxisServiceBuilder.java:1168) 
    ... 5 more 

    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.<init>(WSDL20 
ToAxisServiceBuilder.java:155) 
    at org.apache.axis2.description.WSDL20ToAllAxisServicesBuilder.<init>(WS 
DL20ToAllAxisServicesBuilder.java:53) 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:102) 
    ... 2 more 

Est-ce que quelqu'un sait ce qui pourrait être la cause?

Modifier Exception 2:

Woden[Warning],0:0,Description-1001,The targetNamespace 'http://www.tmsws.com/wsdl20sample' is not dereferencable. 
Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException 
: Error parsing WSDL 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:153) 
    at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35) 
    at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24) 
Caused by: org.apache.axis2.AxisFault: Unable to find element {http://www.tmsws.com/wsdl20sample}request reffered to by operation Get 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.createAxisMessage(WSDL20ToAxisServiceBuilder.java:1112) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.populateOperations(WSDL20ToAxisServiceBuilder.java:1053) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.processInterface(WSDL20ToAxisServiceBuilder.java:956) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.processService(WSDL20ToAxisServiceBuilder.java:384) 
    at org.apache.axis2.description.WSDL20ToAxisServiceBuilder.populateService(WSDL20ToAxisServiceBuilder.java:272) 
    at org.apache.axis2.description.WSDL20ToAllAxisServicesBuilder.populateAllServices(WSDL20ToAllAxisServicesBuilder.java:90) 
    at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngine.java:105) 
    ... 2 more 
+0

A quoi ressemble le WSDL? A-t-il des références à 'd:'? – skaffman

+0

J'ai dit que j'utilise l'exemple wikipedia pour le moment, qui est http://en.wikipedia.org/wiki/Wsdl – dominos

Répondre

1

wsdl2java -o "D:\Examples\SOAP" -wv 2 -uri "file:/D:/Examples/test.wsdl"

wsdl2java essaie de lire à partir de l'URL D:\..., vous devez indiquer l'URL (je pense qu'il ya moyen de spécifier un fichier local au lieu d'URL).

+0

Toujours obtenir la même exception malheureusement – dominos

+0

@dominos Assurez-vous que le fichier contient des données WSDL valides et mettez à jour la pile dans votre message, s'il vous plaît. – khachik

+0

Je ne pense pas trouver le fichier est le problème, parce que si je change wv à 1.1 alors il commencera à se plaindre de l'étiquette de description étant employée au lieu des définitions (qui signifie qu'il a déjà trouvé le dossier). Il n'y a pas non plus besoin de mettre à jour la trace de la pile car l'exception est restée exactement la même lorsque j'ai ajouté le fichier: et modifié les barres obliques. – dominos