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

InfoPath .NET Discussion :

WebServices - Récupérer des données en envoyant un paramètre


Sujet :

InfoPath .NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur informaticien
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur informaticien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 6
    Points
    6
    Par défaut WebServices - Récupérer des données en envoyant un paramètre
    Bonjour tout le monde !!!
    Je suis débutant dans InfoPath et les WebServices. J'ai réussi à faire quelques trucs "bâteaux" qui fonctionnent pas mal, mais je coince sur une chose. Je vous explique ma situation :

    • j'ai un formulaire InfoPath
    • j'ai un WebService
    • j'ai une BDD Oracle

    InfoPath se connecte au WebService, qui lui-même est connecté à la base de donnée (via ODBC).

    Si je veux récupérer toutes les entrées d'une table, c'est ok. J'ai la WebMethod suivante :
    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
     
            [WebMethod]
            public DataSet GetAllSecteurs()
            {
                DataSet ds = null;
                string connectionString = "DSN=OracleDSNSystem;Pwd=test;";
                using (OdbcConnection conn =
                new OdbcConnection(connectionString))
                {
                    conn.Open();
                    using (OdbcCommand cmd =
                    new OdbcCommand("SELECT DISTINCT secteur FROM AA_GHSV_POC", conn))
                    {
                        OdbcDataAdapter adp = new OdbcDataAdapter(cmd);
                        ds = new DataSet();
                        adp.Fill(ds);
                    }
                    conn.Close();
                }
     
                return ds;
            }
    Si j'ajoute cette connexion de donnée dans InfoPath, merveilleux, j'arrive à afficher tous mes secteurs (secteurs d'activité pour info).

    Il faut savoir que j'ai environ 5 secteurs d'activités, et dans chaque secteur j'ai plusieurs établissements. Si je veux récupérer les établissements qui font parti d'un secteur en particulier, je me dit donc :
    "je vais créer une WebMethod qui prend en paramètre le nom d'un secteur, qui sera écrit dans un champ du formulaire, et qui retourne les établissements correspondant."

    Je crée donc la webmethod suivante :
    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
     
            [WebMethod]
            public DataSet GetEtablissementsFromSecteur(string secteur)
            {
                DataSet ds = null;
                string connectionString = "DSN=OracleDSNSystem;Pwd=test;";
                using (OdbcConnection conn =
                new OdbcConnection(connectionString))
                {
                    conn.Open();
                    using (OdbcCommand cmd =
                    new OdbcCommand("SELECT * FROM AA_GHSV_POC WHERE secteur = '" + secteur + "'", conn))
                    {
                        OdbcDataAdapter adp = new OdbcDataAdapter(cmd);
                        ds = new DataSet();
                        adp.Fill(ds);
                    }
                    conn.Close();
                }
     
                return ds;
            }
    Je veut relier ce résultat à une liste déroulante dans InfoPath. Je crée donc une connexion de donnée (en réception de données) ou je vais chercher ma WebMethod, en me disant que InfoPath va détecter que cette méthode à besoin d'un paramètre...Mais non !!! Du moins, pas vraiment :/
    InfoPath me demande une "valeur échantillon", mais après avoir regardé quelques forums sur le net et des explications sur le site de Microsoft, je ne comprend toujours pas bien comment cela fonctionne...

    Mon problème se résume donc assez simplement : comment spécifier à InfoPath le paramètre (ou les paramètres dans le cas ou j'en aurais besoin de plusieurs) à utiliser pour une méthode de réception de donnée ?

    Merci de vos réponses !

    Bonne soirée

    Benoit

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Ingénieur informaticien
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur informaticien
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    En y regardant de plus près mon problème s'apparentait à un problème déjà rencontré dans le forum. Lien ci-dessous :
    http://www.developpez.net/forums/d60...lante-cascade/

    la solution se trouve donc à cette url :
    http://blogs.msdn.com/infopath/archi...ser-forms.aspx

    C'est un peu "tordu" comme solution bien que ça ai du sens. Je trouve le passage de paramètre un peu lourd, mais bon, c'est pas si compliqué à mettre en œuvre, même si ça pourrait être carrément plus facile...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/03/2010, 21h50
  2. [MySQL] Récupérer des données de MySQL et les envoyer dans un PDF
    Par cdevl32 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 16/03/2009, 20h53
  3. Comment récupérer des données de Outlook Express ?
    Par frenchsting dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 29/04/2005, 11h07
  4. Récupérer des données Excel vers Interbase ...
    Par Djedjeridoo dans le forum InterBase
    Réponses: 2
    Dernier message: 20/07/2003, 18h16
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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