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

WinDev Discussion :

Appel d'un WebService


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut Appel d'un WebService
    Bonjour,

    Je souhaite effectuer un test d'appel à un WebService dans un projet Windev11.

    Pour cela, je test ce WS (http://www.webservicex.com/globalweather.asmx?WSDL) qui propose 2 méthodes.

    J'ai testé ce WS sur mon PC depuis SoapUI, ça fonctionne bien.

    Toujours depuis mon poste, j'essaie de l'appeler dans le projet Windev :
    - Atelier > Service web > Importer dans ce projet
    - J'importe le WSDL dans le projet. Cela m'a généré cette méthode :
    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
     
    //Get weather report for all major cities around the world.
    PROCEDURE GetWeather(CityName, CountryName)
     
     
    SOAP.Nom[1]="CityName"
    SOAP.Type[1]=SOAPTypeChaîne
    SOAP.Valeur[1]=CityName
     
    SOAP.Nom[2]="CountryName"
    SOAP.Type[2]=SOAPTypeChaîne
    SOAP.Valeur[2]=CountryName
     
    bRes est un booléen
     
    bRes=SOAPExécute("http://www.webservicex.com/globalweather.asmx", "GetWeather", "http://www.webserviceX.NET", "http://www.webservicex.com/GetWeather")
    ....
    La méthode SOAPExécute renvoie toujours faux avec l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Le serveur ne répond pas. Y a-t'il un serveur HTTP sur la machine cible ?
    Un problème a été détecté pendant l'envoi d'informations sur la socket.
    Je ne vois pas ce qui pourrait bloquer car avec SoapUI cela fonctionne.
    Est-ce que cette fonctionnalité dans Windev11 fonctionne bien ?

    Merci.
    Let there be light, sound, drums, guitar ... Let there be rock !

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    Pourquoi n'appelles-tu pas le webservice comme dans la page d'aide ?
    http://doc.pcsoft.fr/fr-FR/?3086001&...ervice_Web_XML

    Après en version 11, je ne sais pas si c'est ok, mais la page d'aide indique version 9.

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    En utilisant ta méthode, j'ai le même résultat
    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
    SOAP.Nom[1]="CityName"
    SOAP.Type[1]=SOAPTypeChaîne
    SOAP.Valeur[1]="MONTPELLIER"
     
    SOAP.Nom[2]="CountryName"
    SOAP.Type[2]=SOAPTypeChaîne
    SOAP.Valeur[2]="FRANCE"
     
    bRes est un booléen
     
    bRes=SOAPExécute("http://www.webservicex.com/globalweather.asmx", "GetWeather", "http://www.webserviceX.NET", "http://www.webserviceX.NET/GetWeather")
    SI PAS bRes ALORS
    	Erreur(SOAPErreur(SOAPErrMessage))
    SINON
    	Info(SOAPDonneRésultat(SOAPRésultat))
    FIN

  4. #4
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    Bonjour,

    Oui ton code correspond au mien, de toute manière c'est le code généré automatiquement par Windev à l'import du WSDL.
    J'avais vu également "à partir de la version 9", mais si tu as aussi l'erreur... En quelle version as-tu fait ton test ?
    Let there be light, sound, drums, guitar ... Let there be rock !

  5. #5
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Ce code n'est pas généré chez moi et les 2 méthodes fonctionnent.
    Je suis en 21, il y a peut-être eu des changements au niveau de la génération du code.

  6. #6
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    Je crois que je n'ai pas compris ta réponse :
    En utilisant ta méthode, j'ai le même résultat
    -> C'est à dire ? Ça fonctionne bien ?

    les 2 méthodes fonctionnent
    -> Les 2 méthodes ? C'est à dire ? GetWeather et GetCitiesByCountry ?

    Même si le code que tu as écrit n'est pas généré chez toi, il l'est chez moi et c'est le même (Cf. mon 1er post), donc il doit y avoir un soucis en 11 si ça fonctionne en 21.
    Let there be light, sound, drums, guitar ... Let there be rock !

  7. #7
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Je me suis mal exprimé.
    Je parlais de méthode d'appel du webservice

    La première de l'aide en ligne (différente de la tienne ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    v1 est un GetWeather
    v2 est un GetWeatherResponse
     
    v1.CountryName = "FRANCE"
    v1.CityName = "MONTPELLIER"
     
    v2 = GetWeather(v1)
     
    Info(v2.GetWeatherResult)
    La deuxième méthode : la tienne


    Elles fonctionnent toutes les 2 chez moi en 21.
    Je n'ai malheureusement pas de version aussi ancienne que la 11 pour valider si oui ou non, cela provient de la version de Windev.

  8. #8
    Membre habitué Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Points : 197
    Points
    197
    Par défaut
    En fait tu testes la même chose.

    -> Cette méthode GetWeather contient le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bRes=SOAPExécute("http://www.webservicex.com/globalweather.asmx", "GetWeather", "http://www.webserviceX.NET", "http://www.webserviceX.NET/GetWeather")
    Let there be light, sound, drums, guitar ... Let there be rock !

  9. #9
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    oui c'est juste 2 approches d'appel de webservice différentes.

Discussions similaires

  1. Appel d'un webservice hebergé avec IIS
    Par Amokrane dans le forum Framework .NET
    Réponses: 1
    Dernier message: 24/03/2008, 15h40
  2. [Web Service][SOAP] Appel d'un WebService dans PHP
    Par ggjedi dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 09/02/2008, 10h36
  3. Appel d'un webservice par un client
    Par ilhamita dans le forum Services Web
    Réponses: 0
    Dernier message: 20/11/2007, 11h53
  4. Appel d'un webservice via un GET en HTTPS
    Par matthd91 dans le forum Services Web
    Réponses: 2
    Dernier message: 24/04/2007, 10h49
  5. [Axis] Securisation de l'appel client au WebService
    Par Wakaboo dans le forum Services Web
    Réponses: 18
    Dernier message: 01/02/2006, 18h45

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