IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

Service WCF Paramètres Optionnels


Sujet :

Services Web

  1. #21
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Je parle bien entendu de validation côté serveur et non côté client

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  2. #22
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Je parle bien entendu de validation côté serveur et non côté client
    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 ?

  3. #23
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    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.
    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.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #24
    Invité
    Invité(e)
    Par défaut
    Cool ! là je vois bien.

  5. #25
    Membre émérite Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Par défaut
    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.

  6. #26
    Invité
    Invité(e)
    Par défaut
    +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.

  7. #27
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    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
    WCF and Web Services Standards
    Although the details of Web standards are outside the scope of this book, it is at least
    worth commenting on how the various WCF contracts relate to three of the core Web
    services standards. The three core types of WCF contracts map directly to a corresponding
    Web services standard in the following way:
    �� Service contracts map to WSDL
    �� Data contracts map to XSD
    �� Message contracts map to SOAP
    In fact, as can be seen from the fact that most of these contract definition mechanisms
    reside in a namespace called System.ServiceModel, Microsoft as part of its vision of
    modeling and Domain Specific Languages (DSLs) views these contract-definition languages
    as .NET-based models that can be used as alternatives to their standards-based
    counterparts.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  8. #28
    Invité
    Invité(e)
    Par défaut
    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.

  9. #29
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    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.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  10. #30
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Le fait que le WCF s'appuie sur XSD et que XSD permette de valider les données !
    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é.

    Citation Envoyé par WOLO Laurent Voir le message
    Et donc comment pouvez-vous me dire que depuis quand WCF valide les données côté service ? C'est là mon problème.
    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).

  11. #31
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Ah, voila que nous avons juste des problèmes de language, je pense que nous nous comprenons maintenant On disait la même chose.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  12. #32
    Invité
    Invité(e)
    Par défaut
    Sujet clos mon ami.

    Juste qu'on doit utiliser les bons mots à la place qu'il faut.

    Bonne soirée à tous .

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 9
    Dernier message: 25/08/2021, 14h52
  2. Réponses: 2
    Dernier message: 11/05/2010, 13h15
  3. Fonction ou procédure avec paramètres optionnels ?
    Par [Silk] dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2006, 13h55
  4. Paramètre optionnel dans une fonction
    Par bractar dans le forum Langage
    Réponses: 3
    Dernier message: 10/03/2006, 17h02
  5. paramètre optionnel dans une fonction
    Par titoumimi dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2006, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo