Requête POST/JSON en Java pour mailchimp
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:
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:
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:
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 !