9
votes

Eclipse Web Service Client Wizard et CXF

J'essaie de créer un client de service Web à l'aide de l'assistant Eclipse Juno SR2. Le service est correctement déployé et exécuté sur un serveur Ververfish 3.1.2 et je peux voir le fichier WSDL ou créer le client à l'aide de l'axe. Le problème se pose si j'essaie d'utiliser CXF (essayé CXF 2.6.8 et 2.7.5) pour créer le client dans un projet Web dynamique créé pour un poisson-verre 3.1.2: xxx pré>

si je Essayez d'exécuter le WSDL2JAVA en tant que ligne de commande IT fonctionne et des fichiers .java sont créés: p>

macpro:glassfish3 dude$ /usr/local/apache-cxf-2.6.8/bin/wsdl2java -client -d /Users/dude/Documents/SOA/workspace/gf/.cxftmp/src -classdir /Users/dude/Documents/SOA/workspace/gf/build/classes -p http://testservice.csiaf.unifi.it/=it.unifi.csiaf.testservice -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -client -d /Users/dude/Documents/SOA/workspace/gf/.cxftmp/src -classdir /Users/dude/Documents/SOA/workspace/gf/build/classes -p http://testservice.csiaf.unifi.it/=it.unifi.csiaf.testservice -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8888/TestServiceGlassfish/TeamsService?wsdl
wsdl2java - Apache CXF 2.6.8


0 commentaires

5 Réponses :


10
votes

Vous devez vous assurer que WoodStox 4.2.0 est ramassé. Alternativement, définissez la propriété système org.apache.cxf.stax.allowInSecureParse sur True


3 commentaires

Je pense que vous avez raison: le problème est que, même en ajoutant les pots Woodstox sur le chemin de construction de projet (même les ajoutant dans les répertoires CXF afin qu'ils soient choisis par Eclipse lors de l'ajout du runtime) ne suffit pas: l'assistant semble les ignorer. Jusqu'à présent, j'ai résolu de retourner à plus vieux CXF où Woodstox n'était pas requis et j'ai déposé un bogue Eclipse pour leur demander de vérifier comment fonctionne l'assistant.


Quelle version ne nécessite pas de woodstox?


Si vous effectuez une mise à niveau vers CXF 3.0.0 ou version ultérieure, vous ne devez pas Ajouter Woodstock (Woodstox-Core-ASL et STATA2-API). Si vous voulez obtenir la célèbre exception



2
votes

Essayez de supprimer ces 2 fichiers JAR à partir du Glassfish \ Modules :

  • woodstox-core-asl.jar
  • STATAX2-API.JAR

    Je pense que cela empêchera les 2 fichiers JAR (Woodstox et Stax2) du projet CXF d'être utilisé après le déploiement.


0 commentaires

0
votes

Essayez de l'exclure s'il existe une dépendance quelque part et utilisez WoodStox 4.2.0:

<artifactId>wstx-asl</artifactId>
<groupId>org.codehaus.woodstox</groupId>


0 commentaires

0
votes

J'ai fait face au même problème dans JDéveloppeur et qui a été résolu en ajoutant "Woodstox-Core-ASL-4.2.1.jar" à la classe de classe.


0 commentaires

0
votes

Je faisais face au même problème, mais je l'ai déployé sur la sphère Web, et après une recherche de quelques heures, la version exacte de Woodstox, c'est-à-dire ci-dessous

<dependency>
    <groupId>org.codehaus.woodstox</groupId>
    <artifactId>woodstox-core-asl</artifactId>
    <version>4.2.0</version>
</dependency>


0 commentaires