2011-03-23 4 views
2

Je développe des services web avec jaxws, donc je génère des fichiers wsdl et xsd à partir de classes java annotées via wsgen. Je recherche une possibilité de validation automatique des paramètres marqués comme requis via l'annotation @XmlElement(required = true) côté serveur. Je n'ai trouvé que @SchemaValidation. Mais cela ne correspond pas au problème.Possibilité de validation des paramètres requis?

La documentation de cette classe indique: "Valide tous les payload de messages de demande et de réponse (SOAP:Body) pour un WebService par rapport au schéma XML."

Mais il est clair que cela n'inclut pas une vérification required.

Une idée?

+1

Avez-vous envisagé d'utiliser la validation du bean jsr-303, il vous faudra ajouter d'autres annotations mais cela sépare unmarshaling de la validation que j'ai trouvée plus flexible. – ekeren

Répondre

2

En JAXB standard, l'attribut required de XmlElement est uniquement utilisé lors de la génération de documents XML Schema à partir de votre code. Il n'est pas utilisé lors de l'exécution pour la validation des données.

Si vous souhaitez effectuer une validation de données déclarative, vous devez utiliser la validation de schéma. Je ne suis pas sûr de savoir pourquoi vous résistez à cela - c'est beaucoup plus puissant que toutes les contraintes basées sur Java peuvent être.

+0

Je développe des services web avec jaxws. (Par conséquent, je ne définis que la balise jaxws.) Ainsi, les fichiers wsdl et xsd seront générés via wsgen. Tout ce dont j'ai besoin, c'est que les paramètres requis ne soient pas Nuls. –

+1

@Michael: JAX-WS utilise JAXB pour effectuer sa liaison et sa validation XML. – skaffman

+0

Ok. Alors, que dois-je faire pour obtenir ma validation NotNull? –

Questions connexes