2009-10-23 8 views
1

J'utilise jbossws (avec jax-ws) pour servir 3 webservices générés à partir de POJO annotés. Ces 3 services Web partagent quelques classes de données et ont également une méthode commune (ping). Ils résident tous dans le même package java (namespace)wsimport plusieurs wsdl générés

Les 3 fichiers WSDL sont générés automatiquement par jbossws lors du déploiement.

Maintenant, je veux générer du code client en utilisant wsimport.

Quand j'importer les fichiers WSDL, un par un, cela fonctionne en quelque sorte allthough il y a quelques bizarreries (ObjectFactory.java réécrits @XmlSeeAlso pas la liste de toutes les sous-classes)

Quand j'importer les 3 fichiers WSDL en une seule fois, l'outil commence se plaindre de définitions en double (par exemple [ERROR] 'ping' is already defined) et ne génère rien.

J'ai essayé de changer les espaces de noms, mais cela conduirait à plusieurs paquets et peut-être à la duplication de certaines classes du côté client.

Comment puis-je générer du code pour les 3 fichiers WSDL, ce qui résulte en aucun code en double, corriger @XmlSeeAlso annotations, et de préférence un ObjectFactory correct?

+0

J'ai abandonné tout ça. J'utilise maintenant Maven wsimport mojo, et cela ne me permet pas d'exécuter un seul wsimport avec plusieurs WSDL. –

Répondre

0

Je commencerais par utiliser le drapeau -extension pour voir si ça "fonctionne". Les extensions aident parfois, en particulier avec les noms de propriété en double.

Si le problème est une collision de méthode/nom de propriété, vous devrez probablement le personnaliser.

+0

Merci pour votre suggestion, mais j'ai abandonné à ce sujet. J'utilise maintenant Maven wsimport mojo, et cela ne lance même pas un seul wsimport avec plusieurs WSDL. –