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 :

Sérialiser un objet hérité dans webservice


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut Sérialiser un objet hérité dans webservice
    Bonjour,

    Je rencontre un problème lorsque je tente de récuperer un objet par un webService developper vb.net 1.1 .
    Je n'arrive pas à faire fonctionner une webmethod spécifiant une classe abstraite en retour et qui renvoit un objet de la classe fille.

    La webmethode est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <webmethod()> _
    <WebMethod()> _
        Public Function GetProductBP(...) as ProductBP
     
    return getProduct(..)
    'Ou 
    return new SwapBP 'SwapBP class qui hérite de ProductBP
    End Function
    ProductBP est une classe abstraite.
    J'essaye alors de retourner un objet de la classe SwapBP qui hérite de ProductBP.


    Hors, lorsque je fais ça,
    J'ai l'erreur suivante :
    System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: The type Cdc.Trade.SwapBP was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.
    J'ai bien spécifié l'ensemble des attributs et des classes comme <Serializable()>
    Lorsque je fais une WebMethod
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <WebMethod()> _
        Public Function getSwapBP() as SwapBP
     
    return SwapBP
    End Function
    Cela marche sans problème.

    Quelle mot clé ou action dois je faire pour pouvoir renvoyer des objets de la classe fille ?

    Merci de votre aide !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Par défaut
    Salut Rome,

    Comme indiqué dans l'erreur, apparement les types abstraits sont pas acceptés sans autre entre service Web. Comme indiqué, tu dois spécifier xmlinclude ou soapinclude, mais je ne sais pas si c'est du côté client (vb.net) ou sur ton service web que tu dois faire cela, mais d'près la doc ci-dessous, clea du côté client (vb.net):

    J'espère que cela pourra t'aider!

    Cédric

Discussions similaires

  1. Sérialiser un objet dans une page JSP
    Par techz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 16/08/2009, 20h11
  2. Sérialisation d'objet hérité
    Par ppphil dans le forum C#
    Réponses: 6
    Dernier message: 12/01/2009, 11h36
  3. [POO] Sérialiser un objet PDO dans une classe
    Par __fabrice dans le forum Langage
    Réponses: 9
    Dernier message: 15/09/2008, 22h30
  4. Sérialiser un objet directement dans une base de données
    Par Kehel dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 22/08/2008, 09h45
  5. Réponses: 5
    Dernier message: 16/05/2008, 18h56

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