Bonjour,

Voici ma démarche pour la mise en place d'un nouveau WebService via cxf 2.1 (une ancienne version pour des problème de compatibilité avec les librairies existantes dans le projet).

1) J'ai des xsds à partir desquelles je génère mes classes modèles via xjc (et jaxb).
2) Ensuite coté java, je créé mon service, son implémentation avec les bonnes annotations (celle-ci utilise les classes modèles précédemment générées en entrée/sortie).
3) A partir de mon service je génère mon WSDL via apache cxf java2ws.
--> J'ai bien mon WSDL en sortie, celui me sert pour la validation des données dans les flux xml qui transitent.

Le souci c'est que je vois que j'ai perdu des informations concernant les restrictions dans le contenu du WSDL par rapport au xsd initiaux.
Tous ce qui est maxOccurs et minOccurs est OK, par contre je n'ai plus les infos concernant les maxLength ... et c'est très génant car je ne compte pas tout valider à la main.
Les données étant insérées en base ensuite, la validation de la longueur est très importante.

Alors je reprends tout depuis le début, je vois que les informations sont perdues déjà lors de la génération des classes java (1).
Je prends cela en compte, je trouve un plugin pour la génération xjc, j'arrive a générer les classes java avec les informations. Via des annotations du type @Size(max = 4) sur les champs concernés.

Mais c'est là que je coince, impossible de trouver un moyen de générer mon WSDL en prenant en compte ces annotations.java2ws n'a pas l'air de prendre cela en compte, je ne trouve pas de plugins...
Donc si quelqu'un a déjà eu ce problème, et connait une solution pour générer un WSDL en prenant en compte les maxLength, merci de partager