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

ASP.NET Discussion :

Transmettre des objets à partir de services Web


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Par défaut Transmettre des objets à partir de services Web
    Bonjour à tous,

    j'ai besoin de transmettre des informations à un site web via un service Web à partir d'une classe.
    Pour tester cette implementation, j'ai déclaré dans le service web une classe très simple, ElementWS, possédant 2 membres de type string qui encapsule les données unitaires.
    Les ElementsWS sont collectées dans un arrayList transmis par le service Web.

    Ci-dessous le code du service

    Nom : Code.jpg
Affichages : 237
Taille : 139,9 Ko

    a) Le compilateur réclame le tag [xmlInclude(typeof(ElementWS))] pour pouvoir exécuter le service alors que la classe est dans le même assembly. Normal ?
    b) Lorsque le site essaye de consommer le service, la classe ElementWS n'est pas connue lors de la désérialisation et donne l'erreur suivante :
    Nom : Codeerreur.jpg
Affichages : 200
Taille : 226,8 Ko

    Quelqu'un aurait-il une idée sur l'origine du probleme et la conduite à tenir ? Celà me paraissait pourtant d'une grande simplicité...


    Merci par avance,

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 964
    Par défaut
    Il y a plusieurs incohérences à ton code, sans parler des notions que tu ne sembles pas avoir comprises.

    Premièrement, ton ArrayList ne précise pas ce qu'est son contenu.
    Donc, ton contrat ne connait pas ElementWs, c'est d'ailleurs le message que tu as.
    Donc impossible de Serialiser un Objet en ElementWs et ce même si tu fait un Cast forcé.
    Le mieux serait de renvoyer un IEnumerable<ElementWs> ou bien un List<ElementWs>.

    Deuxièmement, tes attribut DataContract doivent être accompagné d'attributs Serializable.

    J'ai gardé le meilleur pour la fin.
    Ton service n'est pas StateLess, il ne devrait pas garder Cibles en mémoire mais le recalculer à chaque fois.
    Surtout qu'apparemment, tu as déjà ces données dans TablesMemoires.

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2011
    Messages : 28
    Par défaut SOLUTION AU PROBLEME
    Un grand merci Popo! Mes lacunes provoquaient bien ces effets.

    J'ai choisi de transmettre une liste typée, et je vais rendre le service Stateless.

    Merci encore.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 964
    Par défaut
    Ravi d'avoir pu t'aider.
    N'oublie pas de mettre le Tag résolu (le bouton devrait se trouver sous le dernier message)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. reconnaissance des objets à partir de leurs contours
    Par dindoopenCV dans le forum OpenCV
    Réponses: 4
    Dernier message: 30/12/2013, 17h55
  2. Réponses: 0
    Dernier message: 26/07/2011, 13h04
  3. Réponses: 3
    Dernier message: 04/10/2010, 18h26
  4. Réponses: 1
    Dernier message: 08/07/2009, 14h00
  5. Réponses: 3
    Dernier message: 22/01/2009, 16h41

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