Expand my Community achievements bar.

Creating bundles that consume webservices over https

Avatar

Level 1

We are trying to consume a https web service from a bundle. It is throwing null pointer exception, as the socket creation for the port 443 is failing.

How can we fix this issue. Is there any configuration in AEM or is it a network issue, so that we can talk to our network team and open some port for this.

Please help

 

Regards,

Krishna Priya.

5 Replies

Avatar

Administrator

Hi 

Please have a look at these Community articles showcasing "bundles that invoke third party Restful web services" and "Developing AEM components that display WordPress information(RESTful)"

Link:- https://helpx.adobe.com/experience-manager/using/restful-services.html

Link:- https://helpx.adobe.com/experience-manager/using/aem_wordpress.html

I hope this would help you.

~kautuk



Kautuk Sahni

Avatar

Level 2

One quick thing you can do to eliminate whether it is an AEM issue or a network issue, is to login to the AEM server's shell and execute a curl to consume the webservice and see whether you get a response back. If you do get a response, then the issue is with AEM. If you don't then, then it is most probably a Network issue.

Avatar

Level 1

You would need to add your certificate to java truststore cacert

Avatar

Level 10

Our AEM community articles that show use of web service do not use HTTPS. They simply use Apache CXF and Restful HTTP Java calls. 

This looks like a Java/Network issue. See:  http://stackoverflow.com/questions/1255083/consuming-https-web-services.

Avatar

Administrator

Hi 

Adding one reference post here:

Link:-http://stackoverflow.com/questions/875467/java-client-certificates-over-https-ssl

// Java client certificates over HTTPS/SSL

 

You need to establish a chain of trust from the server cert to the JVM's own trusted CA certs. As long as a CA cert is available that starts that chain, you should be fine. If you self sign certs, you will need to add your signing CA to the java's keystore. You do not need to import every server's certificate. Just the trusted CA certificate that signed them all if it is not already trusted.

Import a root or intermediate CA certificate to an existing Java keystore:

keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks

~kautuk



Kautuk Sahni