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 :

Consommation de webservice Axis2 avec C#


Sujet :

Services Web

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut Consommation de webservice Axis2 avec C#
    Bonjour,

    Dans le cadre d'une application de services sécurisé, je propose la possibilité à l'utilisateur de sauvegarder ses informations de formulaires dans une base de données à travers un webservice hébergé ailleurs.

    Le webservice est développé en Java avec Axis2 et semble fonctionner très bien. Le client est développé en C# et a été généré par la commande "wsdl".

    L'un de ces services permet de récupérer la liste des formulaires sous forme d'un tableau d'objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public Form[] getValidatedForms()
    	{
    		...
    	}
    A savoir que "Form" est un POJO bien formé. La seule différence c'est que chaque formulaire dispose d'une liste d'entrées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Form implements Serializable {
     
    	private String url;
    	private String action;
    	private String method;
    	private String name;
    	private int number;
    	private Field[] fields;
    ...
    Donc lorsque j'essaye d'appeler la méthode "getValidatedForms" du webservice, on me retourne bien un tableau de "Form" avec le bon nombre d'éléments mais tout est null à l'intérieur sans que je sache pourquoi.

    Le webservice est disponible à cette adresse : http://ws.agil-it.fr/axis2/services/Services?wsdl

    L'appel au service concerné ici : http://ws.agil-it.fr/axis2/services/...ValidatedForms qui me retourne d'ailleurs un résultat cohérent !

    La seule chose que j'ai modifié au stub généré du WSDL en C#, c'est l'URL du webservice qui a été développé en local mais qui est hébergé sur un autre serveur.

    Le code de l'appel au webservice et la cause de l'erreur.

    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
     
                            Webservice.Services services = new Webservice.Services();
                            Webservice.Form[] forms = services.getValidatedForms();
     
                            foreach (Webservice.Form form in forms)
                            {
    /* Il y a bien un objet dans le tableau puisque ça passe ici */
    /* Par contre toutes les données form.x sont vides */
     
                                string msg = "URL : " + form.url + "\n";
                                msg += "Name : " + form.name + "\n";
                                msg += "Method : " + form.method + "\n";
                                msg += "Action : " + form.action + "\n\n";
     
    /* Et ici, c'est null donc ça plante alors qu'un formulaire possède nécessaire un champ ou plus */
     
                                foreach (Webservice.Field field in form.fields)
                                {
                                    msg += "\tName : " + field.name + "\n";
                                    msg += "\tType : " + field.type + "\n";
                                    msg += "\tValue : " + field.value + "\n";
                                    msg += "\tRank : " + field.rank + "\n\n";
                                }
     
                                MessageBox.Show(msg);
                            }
    Si quelqu'un pouvait m'éclairer sur ce problème ? Merci d'avance.

    Marc

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Par défaut
    Petite mise à jour :

    Le webservice s'appelle désormais ici :

    http://ws.agil-it.fr/axis2/services/...Forms?foo=true

    J'ai fait quelques modifications dans le but de résoudre mon problème :
    - Séparer les deux tableaux.
    - Récupérer le tableau de "Field" à partir de l'id de la "Form".
    - Fusionner le tout côté client.
    ==> Sans succès.

Discussions similaires

  1. Consommer un webservice java depuis PHP avec un wsdl
    Par crazymad dans le forum Services Web
    Réponses: 1
    Dernier message: 04/05/2011, 17h29
  2. [AJAX] consommer un webservice avec Ajax
    Par webfranc dans le forum AJAX
    Réponses: 7
    Dernier message: 21/01/2010, 01h32
  3. Réponses: 3
    Dernier message: 06/08/2009, 11h54
  4. Réponses: 0
    Dernier message: 14/05/2009, 12h57
  5. Consommer un webservice créé avec C# depuis JDeveloper
    Par yasstunisien dans le forum JDeveloper
    Réponses: 0
    Dernier message: 24/10/2008, 09h11

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