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 :

connexion a un web service


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 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Par défaut connexion a un web service
    Bonjour

    Nous avons commencé à creer une application sur pocket PC a l'aide visual studio 2005, on a utilisé la methode suivante : http://morpheus.developpez.com/webservicescsharp/
    et on obtient une erreur quand on veut appeler une methode du web service.

    voici le bout de code qui nous permet de l'appeler, mais ca ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    InterfPDA.ClassInterface interf = new InterfPDA.ClassInterface();
    Map listOrg;
    listOrg = interf.listOrg();
    on obtient l'erreur : Invalid cast exception
    est ce que c viendrait d'un probleme de connexion au reseau ou une erreur dans lecode, ou un oubli. Il faut peut-etre ajouter une classe proxy en utilisant le wsdl.exe ?

    Merci, toute aide et information seront les bienvenues.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Sur quelle ligne intervient l'exception ?
    Quel est le type renvoyé par la méthode listOrg ? Es-tu qu'il s'agit du type Map ?



    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Par défaut
    l'exception intervient sur la ligne d'appel de la méthode listOrg

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listOrg = interf.listOrg();
    Oui c'est sur que c'est un type MAP, puisque dans le fichier WSDL c'est bien le type définit.

    Merci.

  4. #4
    Membre éclairé Avatar de dockurt2k
    Inscrit en
    Juillet 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2006
    Messages : 91
    Par défaut
    Quelques questions et je vous dit ce que j'en pense:
    • InterfPDA.ClassInterface est la classe proxy du Web Service ?
    • Map est un type retourne par listeOrg() ?


    Question la plus importante, sur quelles framework s'exécutent le web service que vous appelez, .Net ( fichier .asmx) Axis ou autre implémentation Java ? Donnez le wsdl du web service si vous en voyez pas.

    En attendant vos réponses voici ce que je pense de votre problème. Le web service que vous appelez n'effectue pas le même mapping Data/SOAP que vous. Résultat, quand vous recevez les réponses du serveur, votre client n arrive pas a remapper en données mémoires et donc lance un Invalid Cast.
    Si c'est bien ce qu il vous arrive, l exception sera de type SOAPException je pense.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Par défaut

    InterfPDA.ClassInterface est la classe proxy du Web Service ?
    Je suppose que oui.
    J'ai suivi la méthode de création de webservice donnée ici
    InterfPDA est le nom de la webreference, ClassInterface le nom du WSDL.
    Je suppose qu'en créant une webreférence, il crée la classe proxy qui va bien.
    Je me trompe peut être en supposant ça ?


    Map est un type retourne par listeOrg() ?
    Oui listOrg retourne un type MAP.
    Le serveur est en java, le type utilisé en java est HashMAP.
    Quand on crée le webservice (WSDL) sur le serveur il l'interpréte comme un type : MAP.
    Je pensais que le protocole SOAP servait à faire communiquer les langages entre eux (servant ainsi d'interface entre et de langage intermédiaire d'interface).
    Le problème pourrai donc venir aussi de là ?


    Question la plus importante, sur quelles framework s'exécutent le web service que vous appelez, .Net ( fichier .asmx) Axis ou autre implémentation Java ? Donnez le wsdl du web service si vous en voyez pas.
    Le webservice s'exécute sur l'implémentation JAVA d'Axis.

    En attendant vos réponses voici ce que je pense de votre problème. Le web service que vous appelez n'effectue pas le même mapping Data/SOAP que vous. Résultat, quand vous recevez les réponses du serveur, votre client n arrive pas a remapper en données mémoires et donc lance un Invalid Cast.
    Si c'est bien ce qu il vous arrive, l exception sera de type SOAPException je pense.
    Le message d'erreur qu'on obtient semble correspondre à ce que tu expliques.
    La majeur partie des messages d'erreur parlent de Serialization, ce qui suppose qu'il ne comprend pas le type et qu'il n'arrive pas à convertir, à comprendre ce qu'on lui donne.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 17
    Par défaut
    Aprés de nombreuse recherche il apparait que le passage de liste par webservice via dotNet est bien plus complexe qu'il n'y parait.

    Il faudrait passer par un DataSet, ou de l'encapsuler dans une classe ...

    Or à la base on travaille en java, donc là on séche un peu ...

    Si jamais quelqu'un aurai une idée ...

Discussions similaires

  1. Connexion distante ou web-service avantages inconvenients
    Par Atsibat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 28/11/2013, 13h52
  2. connexion a un web service
    Par rblanc dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 27/10/2009, 23h08
  3. Réponses: 2
    Dernier message: 25/12/2008, 12h23
  4. Pool de connexion pour un web service
    Par pontus21 dans le forum Services Web
    Réponses: 2
    Dernier message: 27/11/2008, 22h36
  5. Connexion InfoPath Web service
    Par fanfan49 dans le forum Services Web
    Réponses: 1
    Dernier message: 06/06/2007, 23h13

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