Bonjour,

je suis actuellement sur un projet de newsletter avec mailchimp.

Je dois intéragir avec leur API via une requête JSON qui va ajouter un utilisateur à une liste de diffusion.

J'essaie d'executer ma requête via cette fonction :

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
 
private void post(String url, String param ) throws Exception{
     String charset = "UTF-8";
 
     String authString = "MyAuthStringAlreadyConvertInBase64";
 
      URLConnection connection = new URL(url).openConnection();
      connection.setDoOutput(true); // Triggers POST.
      connection.setRequestProperty("Accept-Charset", charset);
      connection.setRequestProperty("Content-Type", "application/json");
      connection.setRequestProperty("Authorization", "Basic"+authString);
 
 
        OutputStream output = connection.getOutputStream();
 
        output.write(param.getBytes(charset));
 
        InputStream response = connection.getInputStream();
 
        }
Mes paramètres sont passé comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
post("https://usXX.api.mailchimp.com/3.0/lists/*listID*/members",
                 "{\"email_address\":\"test2@hotmail.ch\",\"status\":\"subscribed\",\"merge_fields\":{\"FNAME\": \"test\",\"LNAME\": \"testSurname\",\"MMERGE3\": \"Oui\",\"MMERGE4\":\"Profession\"}}");



Le problème est : A l'appel de ma fonction j'ai une erreur de connexion comme ceci.

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
 
java.io.IOException: An exception occurred processing JSP page /plugins/altirpplugin/jsp/newsletter.jsp at line 234
 
231:      connection.setRequestProperty("Authorization", "Basic"+authString);
232:     
233:     
234:        OutputStream output = connection.getOutputStream();
235:   
236:        output.write(param.getBytes(charset));
237:       
 
 
Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    com.jalios.jcms.servlet.FriendlyURLFilter.doFilter(FriendlyURLFilter.java:119)
    com.jalios.jcms.servlet.GZIPFilter.doFilter(GZIPFilter.java:51)
    com.jalios.jcms.servlet.ChromeFrameFilter.doFilter(ChromeFrameFilter.java:58)
    com.jalios.jcms.servlet.InitFilter.doFilter(InitFilter.java:210)
    com.jalios.jcms.db.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:35)
    com.jalios.jcms.upload.MultipartFilter.doFilter(MultipartFilter.java:183)
    com.jalios.jcms.ajax.AjaxFilter.doFilter(AjaxFilter.java:58)
cause mère
 
java.net.ConnectException: Connection refused: connect
    java.net.DualStackPlainSocketImpl.connect0(Native Method)
    java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    java.net.Socket.connect(Socket.java:579)
    sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
    sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:160)
    sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
    sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
    sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:933)
    sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
    sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1092)
    sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
    org.apache.jsp.plugins.altirpplugin.jsp.newsletter_jsp.post(newsletter_jsp.java:44)
    org.apache.jsp.plugins.altirpplugin.jsp.newsletter_jsp._jspService(newsletter_jsp.java:279)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    com.jalios.jcms.servlet.FriendlyURLFilter.doFilter(FriendlyURLFilter.java:119)
    com.jalios.jcms.servlet.GZIPFilter.doFilter(GZIPFilter.java:51)
    com.jalios.jcms.servlet.ChromeFrameFilter.doFilter(ChromeFrameFilter.java:58)
    com.jalios.jcms.servlet.InitFilter.doFilter(InitFilter.java:210)
    com.jalios.jcms.db.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:35)
    com.jalios.jcms.upload.MultipartFilter.doFilter(MultipartFilter.java:183)
    com.jalios.jcms.ajax.AjaxFilter.doFilter(AjaxFilter.java:58)


Avez-vous une idée de ce qui causerai ceci.. Merci d'avance et bonne journée !