Je parle bien entendu de validation côté serveur et non côté client :cry:
Version imprimable
Je parle bien entendu de validation côté serveur et non côté client :cry:
Alors là je te comprends plus. Depuis quand il existe une sois-disant validation côté Serveur en WCF ?
WCF s'en fout que les données soient valides ou pas tant que le message entrant ou sortant respecte le format qu'on attend de lui et qui est défini dans le WSDL.
La seule chose qui ressemble à de la validation des données est le fait de rendre obligatoire la saisie des données côté client sinon une exception est déclenchée. Mais cette méthode ne peut en aucun cas être considérée comme validation des données.
Question : comment peux-tu dire à WCF de valider un email que ce soit côté client ou serveur ? :ccool:
Attention, il me semble que nous avons un problème de language.
Validation=respect de format attendu et format attendu est dicté par les paramètres d'entrées et/ou de sorties qui permettent de générer un schéma xml pour la vérification, maintenant WSDL n'est qu'une définition. Je ne vais pas continuer à discuter si vous voulez, ouvrer un nouveau post.
Cool ! là je vois bien. :roll:
Un peu de lecture
http://msdn.microsoft.com/en-us/library/ms733832.aspx
La problématique c'est qu'au court du temps le client va avoir une définition d'une classe utilisée par le webservice qui ne sera plus à jour avec celle du serveur car des champs vont être ajoutés à cette classe côté serveur.
Si IsRequired n'est pas à true, le serveur est capable (heureusement) de desserialer les vieux appels sans problème.
+1,
C'est pour cela que cette propriété est à False par défaut et du coup lorsqu'une nouvelle version entraîne qu'on soit obligé de retirer une des propriétés du contrat de données, WCF arrivera tout de même à dé sérialiser le message bien qu'il ait une donnée manquante.
Maintenant ce que je veux que vous puissiez comprendre c'est que tout cela est traduit en XSD. Voici ce que dit un self-passed:
Citation:
Envoyé par Self-passed Training Kit, 70-503, page 29
Je ne comprends pourquoi avoir ça si on est tous d'accord.
Tu veux en venir où plus exactement en citant les correspondances entre WCF et les standards des services web ?
N.B.: XSD représente un contrat de données. Or on sait tous XSD permet de définir des éléments comme étant optionnels d'où la propriété IsRequired que je traîne dans plusieurs de mes posts.
Le fait que le WCF s'appuie sur XSD et que XSD permette de valider les données ! Et donc comment pouvez-vous me dire que depuis quand WCF valide les données côté service ? C'est là mon problème.
un petit rappel sur l'utilité du XSD : c'est un schéma défini à l'avance et qui permettra de vérifier qu'une structure de données qui est du XML est bien formé et valide.
Maintenant qu'entends ton par l'adjectif valide dans le contexte du XSD : le fait que la structure soit valide signifie que l'ensemble des règles est respecté comme par exemple :
- s'avoir q'un élément doit apparaître une seule fois,
- qu'un élément peut apparaître plusieurs dans un fichier,
- que tel élément est obligatoire,
- tel autre ne l'est pas,
- etc...
XSD joue sur les éléments et attributs pour voir si la structure est valide et non les contenus donc les données de ces derniers. Si tu m'as bien compris => XSD ne permet pas de vérifier la validité des données mais la validité de la structure. Ce qui donne le lemme suivant : WCF ne permet pas de vérifier la validité des données contenu dans un contrat de données mais oblige que le message SOAP rentrant respecte la structure définie dans le contrat pour pouvoir être désérialisé.
En gros t'arrives pas à voir la différence entre validation des données et validation d'une structure de données (c'est ce dernier qui est effectué par XSD). :ccool:
Ah, voila que nous avons juste des problèmes de language, je pense que nous nous comprenons maintenant :ccool: On disait la même chose.
Sujet clos mon ami. ;)
Juste qu'on doit utiliser les bons mots à la place qu'il faut.
Bonne soirée à tous :D.