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 Java Discussion :

Consommation d'un Web Service au secours !


Sujet :

Services Web Java

  1. #1
    Membre éprouvé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Points : 1 264
    Points
    1 264
    Par défaut Consommation d'un Web Service au secours !
    Bonjour à tous,
    JE suis grand débutant en Java (je viens juste de faire mon "hello wolrd" et ma premiere fenetre avec le bouton close) et je dois faire un soft en java qui utilise un web service pour récupérer des données et les coller dans un fichier.
    En VBA dans une macro Excel j'avais ca :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    Private Function lancementimport(groupe As String) As Integer
    Dim i, j As Integer
    Dim httpobj As New WinHttpRequest
    Dim Fso As New FileSystemObject 'reference microsoft file scripting reference'
    Dim TxtStream As TextStream
    Dim ligne, httpreq As String
    Const timeout As Long = 600000
    Dim intSslErrorIgnoreFlag
    Dim objStream As Variant
    Const OutputFilePath As String = "p:\casesItrack.txt"
    Const ReqHeader As String = "https://tool.int/extract_NEW.php?"
     
     
    intSslErrorIgnoreFlag = 13056
    With httpobj
        httpreq = ReqHeader _
            & "DTStart=" & Sheets("parametres").Range("datedebut").Text _
            & "&DTEnd=" & Sheets("parametres").Range("datefin").Text _
            & "&Group=" & groupe & "&Analyst=" & "" '  construction de la requete HTTP'
     
        .Open "GET", httpreq    'preparation entete'
        .SetTimeouts timeout, timeout, timeout, timeout 'setting des timeout'
        Application.StatusBar = "Requête transmise groupe " & groupe & ". Attente de réponse ..."
        .Option(4) = intSslErrorIgnoreFlag
        .Send   'execution'
    End With
        Set objStream = CreateObject("ADODB.Stream")
        objStream.Open
        objStream.Type = 2 'adTypeText'
        objStream.Charset = "ISO-8859-15"
        objStream.WriteText httpobj.ResponseText
        objStream.SaveToFile OutputFilePath, 2    'adSaveCreateOverWrite'
        objStream.Close
        Application.StatusBar = "Parsing des lignes... " & groupe
        i = 1
        Set TxtStream = Fso.OpenTextFile(OutputFilePath, ForReading)
        If Not TxtStream.AtEndOfStream Then ligne = TxtStream.ReadLine
        While Not TxtStream.AtEndOfStream
            ligne = TxtStream.ReadLine
            ligne = Replace(ligne, "", " ")
            Sheets("casesitrack").Range(("A") & CStr(lignedepart + i - 1)).Value = ligne
            Application.StatusBar = "Parsing des lignes  " & CStr(i)
            i = i + 1
        Wend
        TxtStream.Close
        ' split du case sur la ligne'
        For j = 1 To i - 1
            Application.StatusBar = "Copie ... Ligne  " & groupe & i
            Sheets("casesitrack").Range("A" & CStr(lignedepart + j - 1)).TextToColumns _
                Destination:=Sheets("casesitrack").Range("B" & CStr(lignedepart + j - 1)), _
                DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
                ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, _
                Space:=False, Other:=False, TrailingMinusNumbers:=True
        Next
        lancementimport = i
    C'est du code que j'ai récupéré tel quel et que j'ai adapté à ma feuille. Ce que j'ai cru comprendre :
    on construit la requete, on la lance, on recupère le résultat dans une super string, on l'écrit dans un flux texte pour "splitter" les lignes, puis on importe les lignes dans excel et enfin on splitte les différentes cellules.
    Ca c'est pour VBA.

    En java, après avoir parcouru des milliers de pages, j'ai toujours pas compris comment il fauit faire. Je vois qu'il faut générer un wsdl... Je comprends rien.
    J'ai pas trouve de tuto clair à chaque fois ça concerne un cas particulier.

    Quelqu'un pourrait il aider un pauvre malheureux ?

    Merci d'avance.

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    WSDL est une description d'un web service de type SOAP.
    Ça décrit les méthodes, les paramètres, leurs caractéristiques, ...
    Le WSDL n'est pas produit par l'utilisateur du service mais par le fournisseur.
    L'utilisateur s'en sert ensuite pour implémenter son appel aux services décrits.

    On peut ignorer le WSDL (comme le fait ce programme VB) lorsqu'on interroge un web service ... mais c'est bien plus pratique de l'utiliser.

    Pour utiliser des web services en Java, Eclipse (entre autres) permet de créer facilement une implémentation cliente d'utilisation de web services rien qu'en lui fournissant le fichier WSDL.
    Cette implémentation encapsule la couche réseau et met à disposition du développeur des classes permettant de faciliter l'invocation des services décrits dans le WSDL.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 53
    Points : 64
    Points
    64
    Par défaut
    je te propose ce tutoriel mis en ligne par SUN pour expliquer les web services.http://java.sun.com/webservices/tutorial.html

    J'espere que t'as pas de soucis avec l'anglais.

    Un tuto en français je te propose
    http://karamimed.developpez.com/j2ee/tutoriels/axis/

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2011, 09h36
  2. Consommation d'un web service
    Par nouramin dans le forum Services Web
    Réponses: 0
    Dernier message: 19/08/2010, 16h00
  3. Consommation d'un web service. [Débutant]
    Par Rooswelt dans le forum Services Web
    Réponses: 18
    Dernier message: 22/02/2010, 15h19
  4. Problème sur un Web Service consommant un autre Web Service
    Par nicocomumumu dans le forum Services Web
    Réponses: 2
    Dernier message: 06/08/2009, 20h08
  5. Consommation d'un Web services
    Par mbinte dans le forum Services Web
    Réponses: 5
    Dernier message: 10/09/2008, 16h23

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