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.