Bonjour,
Bonne année meilleure vœux.

Je lançais des appels WS en java avec du http en utilisant le code ci-dessous :

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
    public JSONObject executeSOAPQuery(String codeBatch, JSONObject params, String WebServiceURL) throws JSONException {
 
 
        Date fullDate = new Date();
 
        SOAPConnection soapConnection;
        try {
            soapConnection = SOAPConnectionFactory.newInstance().createConnection();
 
            URL endpoint = new URL(new URL(WebServiceURL), "WSAppelBatch/", 
                    new URLStreamHandler() {
 
                @Override
                protected URLConnection openConnection(URL u) throws IOException {
                    URL clone = new URL (u.toString ());
                    URLConnection connection = clone.openConnection ();
                    connection.setConnectTimeout (600   1000);      // 10 minutes
                    connection.setReadTimeout (0);                   // Infinite Timeout
                    return connection;
                }
            });
 
            fullDate = new Date();
            System.out.println("Lancement du batch " + codeBatch + " avec les paramètres " + ((params == null) ? "null" : params.toString()));
            System.out.println(params);
            SOAPMessage soapResponse = soapConnection.call(createSOAPRequest(codeBatch, params), endpoint);
            // 
            final StringWriter sw = new StringWriter();
 
            try {
                TransformerFactory.newInstance().newTransformer().transform(
                    new DOMSource(soapResponse.getSOAPPart()),
                    new StreamResult(sw));
                System.out.println(sw);
            } catch (TransformerException e) {
                System.out.println("ec");
                e.printStackTrace();
            }
 
            JSONObject fullResult = XML.toJSONObject(sw.toString());
            String retString = fullResult.getJSONObject("soapenv:Envelope")
                    .getJSONObject("soapenv:Body")
                    .getJSONObject("ns:ExecuteBatchResponse")
                    .getString("ns:return");
            JSONObject retJson = XML.toJSONObject(retString).getJSONObject("RACINE");
            soapConnection.close();
 
            retJson.put("redacteur", "HHH");
            retJson.put("codeBatch", codeBatch);
            retJson.put("date", dayFormat.format(fullDate));
            retJson.put("heure", hourFormat.format(fullDate));
 
            System.out.println(retJson);
            return retJson;
 
        } catch (MalformedURLException | UnsupportedOperationException | SOAPException | TimeoutException e) {
            e.printStackTrace();
            JSONObject retJson = new JSONObject();
 
            retJson.put("redacteur", "HHH");
            retJson.put("codeBatch", codeBatch);
            retJson.put("date", dayFormat.format(fullDate));
            retJson.put("heure", hourFormat.format(fullDate));
 
            System.out.println(retJson);
            return retJson;
        }      
    }
 
 
    private SOAPMessage createSOAPRequest(String codeBatch, JSONObject params) throws SOAPException, JSONException {
        JSONObject batchParams = ParamBatch.getBatchParam(codeBatch, params);
        SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
        SOAPPart soapPart = soapMessage.getSOAPPart();
 
        String serverURI = "http://WebServices.Communes";
        SOAPEnvelope envelope = soapPart.getEnvelope();
        envelope.addNamespaceDeclaration("bat", serverURI);
 
        SOAPBody soapBody = envelope.getBody();
        SOAPElement soapBodyElem = soapBody.addChildElement("ExecuteBatch", "bat");
        SOAPElement soapBodyElemCode = soapBodyElem.addChildElement("CodeBatch", "bat");
        soapBodyElemCode.addTextNode(batchParams.getString("codeBatch"));
        SOAPElement soapBodyElemParams = soapBodyElem.addChildElement("Params", "bat");
        soapBodyElemParams.addTextNode(batchParams.getString("params"));
 
        soapMessage.saveChanges();
 
 
        return soapMessage;
    }
 
 
}

EN essayant d’utiliser le même code pour du https l’erreur ci-dessous s’affiche :
com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection postGRAVE: SAAJ0009: Message send failed