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

SOA Discussion :

Atelier SOA - Leçon 1 : Tests fonctionnels de services web avec SOAP-UI


Sujet :

SOA

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut Atelier SOA - Leçon 1 : Tests fonctionnels de services web avec SOAP-UI
    Suite aux différentes supports de cours qui présentaient les standards et APIs pour développer et appeler des services web étendus, je vous propose un premier atelier concernant la manipulation de l'outil SOAP-UI.

    Le but est d'apprendre à inspecter et à invoquer un Web Services via l'outil SOAP-UI. La leçon insiste sur la découverte des standards WSDL et SOAP et sur l'outillage proposé par SOAP-UI pour réaliser des tests fonctionnels (simulation, test de performance, validation de messages SOAP)

    Si vous avez des commentaires, des souhaits, n'hésitez pas, profitez de cette discussion.

    L'adresse de l'atelier : https://mbaron.developpez.com/tutori...-services-web/

    Mickael BARON (http://keulkeul.blogspot.com)

    UPDATE : 9 janvier 2019

    Une nouvelle version est disponible prenant en compte principalement les dernières versions de SOAP-UI et le dépôt des sources sur Github.

    Le tutoriel est disponible ici : https://mbaron.developpez.com/tutori...-services-web/

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Allo,
    sa serai un super Tutorial si en peu faire la même chose mais avec des service REST.

    Selon moi tu ne peu utilisé du WSDL 2.0 ou du WADL que si tu envoi du XML avec du RestFul ? ,mais si tu envoi par exemple du JSON tu peu pas avoir la définition des WS et donc pas de XSD ?? dit moi si je fait erreur !!

    Merci

  3. #3
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    sa serai un super Tutorial si en peu faire la même chose mais avec des service REST.
    J'y réfléchis. Il faut juste trouver une bonne idée d'exemple.

    Selon moi tu ne peu utilisé du WSDL 2.0 ou du WADL que si tu envoi du XML avec du RestFul ?
    Désolé, je n'ai rien compris. Tu parles de WS de type REST ou SOAP.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  4. #4
    Membre confirmé
    Avatar de geforce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2010
    Messages
    1 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 055
    Points : 559
    Points
    559
    Par défaut
    Citation Envoyé par Mickael Baron Voir le message
    Il faut juste trouver une bonne idée d'exemple.
    Désolé, je n'ai rien compris. Tu parles de WS de type REST ou SOAP.
    Merci pour la réponse

    Oui je parle bien du WS REST, pour le WADL il est natif dans les WS rest ? comment le localisé (URL)

    Merci

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Merci pour le tuto !

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2017
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Exercice 3 - Construire une suite de tests complexe (TestSuite)
    Bonjour,

    je viens de voir la discussion, désolé pour l'email.
    je rencontre un problème au niveau du step 2, il failed et il y a écrit:

    Test started at 2017-02-16 15:33:41.945
    Step 1 [Properties] OK: took 36 ms
    TestCase failed [Cancelling due to failed test step], time taken = 5376
    Step 2 [LatLonListZipCode - Request 1] FAILED: took 5340 ms
    -> [SOAP Response] error: Unexpected character encountered: 'c'
    -> [SOAP Response] Unexpected character encountered: 'c'


    j'ai changé le 'c' par un 'C' dans le script groovy mais le problème persiste.

  7. #7
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Salut,

    Le problème se produit lors de l'appel à l'opération LatLonListZipCode. As-tu changer le contenu du SOAP d'envoi par cela ${Properties#zipCode} ?

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  8. #8
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Pour information, j'ai renommé le dernier exercice car il portait le même nom que le 3 (copié/collé)

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  9. #9
    Membre habitué Avatar de dedalios
    Homme Profil pro
    concepteur d'application
    Inscrit en
    Février 2008
    Messages
    493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : concepteur d'application
    Secteur : Santé

    Informations forums :
    Inscription : Février 2008
    Messages : 493
    Points : 152
    Points
    152
    Par défaut SoapUI5.5 et ses évolutions
    Bonjour

    Je viens de récupérer l'actuelle version de SOAPUI 5.5, hormis quelque évolution notable de l'interface et les écrans, y a t'il des évolutions concernant la partie coding qui pourrait faire l'objet d'adaptation de votre tuto?

  10. #10
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Je viens de récupérer l'actuelle version de SOAPUI 5.5, hormis quelque évolution notable de l'interface et les écrans, y a t'il des évolutions concernant la partie coding qui pourrait faire l'objet d'adaptation de votre tuto?
    Non rien qui change, c'est surtout que SOAPUI 5.5 peut être exécuté à partir d'une version récente de Java. La faute à des API de Java qui avaient été supprimées.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  11. #11
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Tutoriel sur les tests fonctionnels de services web avec SOAP-UI
    Bonjour Mickael,


    Je vous contacte car j'ai pu suivre votre tutoriel sur le site suivant :

    https://mbaron.developpez.com/tutori...-services-web/




    J’ai pu réaliser les premières étapes de l’exercice 1 et voir les réponses pour la première opération LatLonListZipCode. Pour les autres opérations (NDFDgenByDay & NDFDgenByDayLatLonList), je n’ai pas eu les réponses escomptées.




    Pour l’opération NDFDgenByDay, je pense qu’il n’y aucune donnée disponible pour les données renseignées. Est-il possible d’avoir une requête qui permette de connaître les plages de données disponibles (pour chaque input, avoir la plage de donnée renseignée aboutissant à un output comme on l’attend dans l’exercice) ?



    NDFDgenByDay - INPUT

    <soapenv:Envelope xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ndf="https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl">
    <soapenv:Header/>
    <soapenv:Body>
    <ndf:NDFDgenByDay soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <latitude xsi:type="xsd:decimal">40.7198</latitude>
    <longitude xsi:type="xsd:decimal">-73.993</longitude>
    <startDate xsi:type="xsd:date">2011-03-20</startDate>
    <numDays xsi:type="xsd:integer">1</numDays>
    <Unit xsi:type="xsd:string">m</Unit>
    <format xsi:type="xsd:string">24 hourly</format>
    </ndf:NDFDgenByDay>
    </soapenv:Body>
    </soapenv:Envelope>


    NDFDgenByDay - OUTPUT
    <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode xsi:type="xsd:string">SERVER</faultcode>
    <faultactor xsi:type="xsd:string"/>
    <faultstring xsi:type="xsd:string">Program degrib returned no data.</faultstring>
    <detail xsi:type="xsd:string"><![CDATA[<error><h2>ERROR</h2><pre><problem>No data were found using the following input:</problem>
    <format>24 hourly</format>
    <startDate>2011-03-20</startDate>
    <numDays>1</numDays>
    <Unit>m</Unit>
    <stringOfPntEntries>-pnt 40.7198,-73.993 -cwa OKX </stringOfPntEntries>
    <latitudeLongitudes>
    40.7198,-73.993 </latitudeLongitudes></pre></error>]]></detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

    Pour l'opération NDFDgenByDayLatLonList, j’ai eu une toute autre réponse. Il semblerait que je ne sois pas autorisée à récupérer les informations. Pouvez-vous confirmer ? Comment faire ?



    NDFDgenByDayLatLonList - INPUT

    <soapenv:Envelope xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlnssd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ndf="https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl">
    <soapenv:Header/>
    <soapenv:Body>
    <ndf:NDFDgenByDayLatLonList soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <listLatLon xsi:type="xsd:string">40.7198 -73.993</listLatLon>
    <startDate xsi:type="xsd:date">2019-12-16</startDate>
    <numDays xsi:type="xsd:integer">7</numDays>
    <Unit xsi:type="xsd:string">m</Unit>
    <format xsi:type="xsd:string">24 hourly</format>
    </ndf:NDFDgenByDayLatLonList>
    </soapenv:Body>
    </soapenv:Envelope>




    NDFDgenByDayLatLonList - output
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Hotspot - Blacklist User-Agent</title>
    <meta name="Title" content="Hotspot - Blacklist User-Agent" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable='no'">
    <meta property="fb:app_id" content="165416436900379" />

    <!-- Import Bootstrap CSS -->
    <link rel="stylesheet" href="librairies/bootstrap/css/bootstrap.min.css">

    <!-- Import Bootflat CSS -->
    <link href="librairies/bootflat/css/bootflat.css.map" rel="stylesheet">

    <!-- Import CSS Material Design Iconic -->
    <link href="librairies/materialdesign-webfont-master-1.5.54/css/materialdesignicons.min.css" media="all" rel="stylesheet" type="text/css" />

    <!-- Import CSS 2ISR -->
    <link rel="stylesheet" href="css/fonts.css">
    <link rel="stylesheet" href="css/btn.css">
    <link rel="stylesheet" href="css/main.css">
    <link rel="stylesheet" href="css/modal.css">
    <link rel="stylesheet" href="themes/defaut/defaut.css">

    <!-- Import Plugin CSS spinkit-master-loader Loaders -->
    <link href="librairies/spinkit-master-loader/css/spinkit.css" rel="stylesheet">

    <!-- Import Jquery -->
    <script type="text/javascript" src="librairies/jquery/jquery-2.1.4.min.js"></script>

    <!-- Import JqueryUI -->
    <script type="text/javascript" src="librairies/jquery-ui-1.11.4/jquery-ui.min.js"></script>

    <!-- Import Bootstrap JS -->
    <script type="text/javascript" src="librairies/bootstrap/js/bootstrap.min.js"></script>

    <!-- Import Bootflat JS -->
    <script type="text/javascript" src="librairies/bootflat/js/jquery.fs.stepper.min.js"></script>
    <script type="text/javascript" src="librairies/bootflat/js/jquery.fs.selecter.min.js"></script>

    </head>
    <body>
    <div class="container">
    <div class="row">
    <div class="col-sm-12 col-md-12 col-lg-12 center m-t-30 blacklist" style="border:1px solid #000;">
    <p><b>Your user-agent is not permitted to access this service....</b></p>
    <p>Please use a standard Internet browser (Internet Explorer, Edge, Mozilla Firefox, Google Chrome, Safari ...)</p>
    </div>
    </div>
    </div>
    </body>
    </html>



    D’autre part, vous indiquez vous être inspiré du cours de Meera SUBBARAO. Auriez-vous un contact ?

  12. #12
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Bonjour,

    Pour information, le service web utilisé et un service web pour les prévisions météorologiques. Cela sous entend que la date ne doit être future et non pas. En gros pour startDate il ne faut pas utiliser 2011-03-20 mais quelque chose dans le future comme par exemple 2019-09-18 (sachant que la date d'aujourd'hui est le 16 septembre 2019)

    Invoquer l'opération NDFDgenByDay qui retourne des prévisions météorologiques en fonction de la latitude, longitude, une date, une durée et un format de date. Utiliser les valeurs suivantes : latitude = 40.7198 ; longitude = -73.993 ; startDate = YYYY-MM-DD (où YYYY est l'année, MM est le mois et DD est le jour. Il faut mettre une date postérieure à la date du jour); numDays = 1, unit = m et format = 24 hourly.
    Pour contacter l'auteure du billet originel, il faut suivre le lien donné dans le résumé.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/04/2016, 15h13
  2. Réponses: 9
    Dernier message: 29/01/2016, 16h17
  3. Appel service Web avec SOAP:Lite
    Par phlux dans le forum Web
    Réponses: 1
    Dernier message: 09/04/2008, 16h56
  4. VBA : Service Web avec SOAP et HTTPS
    Par uftu1 dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/09/2007, 12h02

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