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 Java Discussion :

[type complex] problemes bizzards lors de la deserialisation


Sujet :

Services Web Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut [type complex] problemes bizzards lors de la deserialisation
    Bonjour...

    Voila; j'ai des methode qui prennent un type complexe en parametre;
    ce type est parfaitement geré en retours, la methode fonctionne trés bien si elle prend les attributs du types complexe directement;
    Mais lorsqu'elle reçoit un type complexe et qu'axis le deserialise.. bien il se melange les pinceaux et melange les valeurs..

    Concretement sa donne sa:

    ctyp ma_methode( ctyp item ){...}
    avec
    class ctyp{
    public ctyp(int attr1, int attr2, string attr3, string attr4){
    // la valeur de attr1 se retrouve copié dans attr2 et celle de attr2 copié dans attr4
    }
    /*accessurs & attrs */
    }

    voila voila.. je sais plus quoi fair !! help

    les envelloppes soap sont envoyé soit depui un client ajax soit depuis un client java... (meme resultat)
    systeme:
    Debian sarge + apache + tomcat 5.5 (mod-jk) + axis 1.4

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    salut,
    Est-ce que ce type complexe en question implémente bien l'interface Serializable ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class ctyp implements java.io.Serializable
    Si oui, il nous faudrait un peu plus d'éléments pour pouvoir t'aider.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    merci de ta reponsse

    En fait j'obtien le même resultat avec ou sans ... eclipse me dit qu'il faut un identifiant special, alors je l'ai rajouté et initialisé à 0 (?); eclipse n'a plus ralé, mais toujours le même resultat oo'...

    Il y a p-e d'autre trucks a rajouter ... la class ctyp n'est qu'une structure trés basique...
    Et le client ajax se base sur le wsdl pour l'ordre des données..

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    Si oui, il nous faudrait un peu plus d'éléments pour pouvoir t'aider.
    cad?

    voila l'une des classes en question.. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    public class dbDescription  implements java.io.Serializable{
     
    	public dbDescription (int idD, int idT, String language, String texte){
    		System.out.println("Constructeur: "+texte);// les var sont melangé quant elles arrivent au constructeur...
    		this.idDescription = idD;		
    		this.idTexte = idT;
    		this.language = language;
    		this.texte = texte;
    	}
     
    	private int idDescription;
    	public int getidDescription(){return this.idDescription;}
    	public void setidDescription(int idD){this.idDescription = idD;}
     
    	private int idTexte;
    	public void setidTexte(int idT){this.idTexte = idT;}
    	public int getidTexte(){return this.idTexte;}
     
    	private String language;	
    	public void setlanguage(String l){this.language = l;}
    	public String getlanguage(){return this.language;}
     
    	private String texte;	
    	public void settexte(String t){this.texte = t;System.out.println(texte);}
    	public String gettexte(){return this.texte;}
     
     
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Salut,
    Il n'y a pas grand-chose à reprocher à ta classe, elle ne contient que des membres de types simples, et en principe elle devrait être sérialisable. Le problème pourrait bien venir d'ailleurs. Quel message d'erreur tu obtiens ? Que veux-tu dire par "Axis se mélange les pinceaux et mélange les valeurs" ? Tu pourrais nous poster ton WSDL ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    Bin wé elle est super simple; est personne ne semble avoir cette erreur donc j'en conclu que le pbm vien de mon code ou de mon install

    Ce pbm apparait partout ou j'envoi un type complexe en parametres .. je me limite à une seule pour mes test de debugage..

    Le pbm en clair c'est quant j'envoi un type complexe en parametre :
    lors de la deserialisation (j'ai fait des affichages), l'attribut 1 se retrouve copié dans le 2nd attribut;
    et le 3eme dans le 4eme.... (jen suis sur car si les type sont differents il me fait une erreur de typage)

    Sinon il ne me fait pas d'erreur et me donne les valeurs erronnée sans sourciller la moindre erreur null part...

    WSDL: Juste le type sur lequel je fait mes tentatives :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <complexType name="dbDescription">
        <sequence>
         <element name="idDescription" type="xsd:int"/>
         <element name="idTexte" type="xsd:int"/>
         <element name="language" nillable="true" type="xsd:string"/>
         <element name="texte" nillable="true" type="xsd:string"/>
        </sequence>
     
       </complexType>
    Le wsdl complet :
    ( :/ il rentre pas jlé mi en pj )

    Un collegue a installé tomcat + axis et a testé mon WS.. resultat : même probleme.

    pige pas...
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Comme tu le dis, le problème pourrait venir de ton code, et comme ton WSDL est tellement long qu'on s'y perd un peu, je te conseille de refaire un web service simple avec une seule méthode qui prend ce type complexe en paramètre. Là on pourrait peut-être voir d'où vient le problème au cas où ça marcherait pas. Mais en tout cas, je ne crois pas que le type complexe en lui même soit la cause.

Discussions similaires

  1. Service Web avec Axis et types complexes.
    Par Skyman37 dans le forum Services Web
    Réponses: 17
    Dernier message: 13/01/2011, 09h28
  2. Réponses: 4
    Dernier message: 11/01/2009, 18h08
  3. probleme de typage lors de la deserialisation
    Par Kuroro dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2007, 18h25
  4. [WinForms]probleme affichage lors d'un traitement
    Par Rankyboy dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 15/06/2006, 14h13
  5. Type complexe en parametre dans une procedure stockée
    Par Tsimplice dans le forum Oracle
    Réponses: 2
    Dernier message: 06/10/2005, 02h42

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