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

Windows Communication Foundation .NET Discussion :

SOAP et references objets


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut SOAP et references objets
    Bonjour à tous,

    Suite à un gros bottleneck sur une application, j'ai analysé le flux SOAP transmis du webservice au client, et je me suis rendu compte que la gestion des références n'était pas faite pour l'objet root du soap. Je m'explique :

    Imaginons un objet Categorie possèdant des Articles. Categorie possède une liste d'articles et chaque article possède un lien retour vers la catégorie.

    Donc, pour éviter que la sérialisation ne me répete le bloc SOAP de la catégorie dans tous les articles, j'ai placé le parametre IsReference:=true dans la balise DataContract comme ceci :
    <DataContract(IsReference:=True)>
    Et ce sur mes objets Categorie et Article.
    Donc du coup, il est censé créer un attribut Zid sur la balise Categorie et dans mes articles j'aurais bien une balise Categorie, mais qui devrait etre quasi vide avec seulement un attribut zRef correspondant au Zid de la catégorie.

    Ce systeme fonctionne bien sur des éléments en profondeur, mais quand la référence (dans mon cas la catégorie) est l'élément principal (le premier élément du flux), je n'ai pas de balise <Categorie>, ca commence direct avec les données de la catégorie, donc forcement je n'ai pas de zId. Du coup mes articles possèdent une balise categorie complete au lieu d'avoir un Zref.

    Existe-t-il une solution à ce genre de soucis ?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zax-tfh Voir le message
    Ce systeme fonctionne bien sur des éléments en profondeur, mais quand la référence (dans mon cas la catégorie) est l'élément principal (le premier élément du flux), je n'ai pas de balise <Categorie>, ca commence direct avec les données de la catégorie, donc forcement je n'ai pas de zId. Du coup mes articles possèdent une balise categorie complete au lieu d'avoir un Zref.
    Cela est fait exprès pour éviter les références cirulaires. m'enfin je pense mais je ne suis pas sûr.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    837
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2003
    Messages : 837
    Par défaut
    <DataContract(IsReference:=True)> est fait pour éviter les références circulaires, ca c'est certain, c'est d'ailleurs pour ce que je m'en sers.

    Mon probleme est surtout : pourquoi le premier element n'est il pas généré avec une balise ouvrante et fermante comme le reste, ce qui aurait permis d'avoir un zId dessus et du coup ne pas répéter les blocs de cet objet dans les sous objets qui le référencent.

Discussions similaires

  1. [XL-2007] Probleme de reference objet excel application apres with selection
    Par ixion78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/01/2014, 15h52
  2. soap et php objet
    Par choupette313 dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 12/01/2011, 22h30
  3. Enveloppe SOAP avec données, objet récupéré vide
    Par naz dans le forum Services Web
    Réponses: 1
    Dernier message: 25/09/2007, 17h21
  4. Réponses: 2
    Dernier message: 13/09/2006, 17h32
  5. [VB6]Passage par référence d'une prop. d'objet à une fct
    Par -gYs- dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 02/09/2002, 08h55

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