Hi all,
Am very new to C2DM as well HttpPost, While i try to post messages i
get the folowing error :
org.apache.http.conn.HttpHostConnectException: Connection to
https://android.apis.google.com refused
I use Httpclient-4.0.jar & Httpcore-4.0.1.jar
And the stack trace is :
org.apache.http.conn.HttpHostConnectException: Connection to
https://android.apis.google.com refused
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:
127)
at
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:
147)
at
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:
101)
at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:
381)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
641)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
576)
at
com.techm.canvasm.util.HttpPostForC2DMServer.postMessage(HttpPostForC2DMServer.java:
63)
at
com.techm.canvasm.ws.CloudToDeviceMessagingWSSoapBindingImpl.registerMyApp(CloudToDeviceMessagingWSSoapBindingImpl.java:
79)
at
com.techm.canvasm.ws.CloudToDeviceMessagingWSSoapBindingSkeleton.registerMyApp(CloudToDeviceMessagingWSSoapBindingSkeleton.java:
79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:
397)
at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:
186)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
323)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:
453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:
699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
868)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
663)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:
80)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
at
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:
333)
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:
123)
And my code is is as given below :
String data = "Test Message";
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost("
https://android.apis.google.com/
c2dm/send");
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair("registration_id",
registrationId));
formparams.add(new BasicNameValuePair("data.payload", data));
formparams.add(new BasicNameValuePair("collapse_key", "foo"));
if (null != registrationId)
{
formparams.add(new BasicNameValuePair("id", registrationId));
}
UrlEncodedFormEntity entity = null;
try
{
entity = new UrlEncodedFormEntity(formparams, "UTF-8");
}
catch (UnsupportedEncodingException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
httppost.setEntity(entity);
Header header = new BasicHeader("Authorization: GoogleLogin
auth=",clientAuthToken);
Header header2 = new BasicHeader("Content-Type","application/x-www-
form-urlencoded");
httppost.addHeader(header);
httppost.addHeader(header2);
//httppost.getParams().setParameter("Content-
length:",""+data.length());
HttpContext localContext = new BasicHttpContext();
HttpResponse response = null;
try
{
System.out.println("RESPONSE : "+response);
response = client.execute(httppost, localContext);
System.out.println("RESPONSE : "+response);
//HttpEntity entity2 = response.getEntity();
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
Header[] headers = response.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
System.out.println(headers[i]);
}
System.out.println("----------------------------------------");
if (response.getEntity() != null) {
System.out.println(EntityUtils.toString(response.getEntity()));
}
}
catch (Exception e)
{
System.out.println(" EXCEPTION ------------------");
System.out.println("LocalizedMessage() :
"+e.getLocalizedMessage());
e.printStackTrace();
System.out.println("Message() : "+e.getMessage());
System.err.println(e);
}
finally
{
}
Can any one help me out ?
Thanks