I am using Tomcat7, Spring framework for ReST web services. I am trying to call an https web service using Spring RestTemplate. I am getting the following error:
unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
I check online at stackoverflow. I tried the sample code from the url: Access Https Rest Service using Spring RestTemplate
I couldn't get it to work. Can anybody please tell me based on the code below what do I need to change? Also can anybody tell me or provide me with the pom.xml file which java libraries would I need?
        import org.springframework.web.bind.annotation.RequestMethod;
        import org.springframework.web.client.RestTemplate;
        import com.fasterxml.jackson.core.JsonGenerationException;
        import com.fasterxml.jackson.databind.JsonMappingException;
        import com.fasterxml.jackson.databind.ObjectMapper;
        import com.journaldev.spring.controller.EmpRestURIConstants;
        import com.journaldev.spring.model.CostControlPost;
        import com.journaldev.spring.model.Employee;
        import com.journaldev.spring.model.RfxForUpdate;
        import static org.junit.Assert.*;
        import org.apache.commons.codec.binary.Base64;
        import javax.net.ssl.*;
        import java.io.*;
        import java.security.KeyStore;
        import java.security.MessageDigest;
        import java.security.cert.CertificateException;
        import java.security.cert.X509Certificate;
        public class TestExample2
        {
            public static final String SERVER_LIST="https://abc/sourcing/testServices";
            @Test
            public void testGetListOfServiceNames()
            {
                try
                {
                    RestTemplate restTemplate = new RestTemplate();
                    ResponseEntity<String> response = restTemplate.exchange(SERVER_LIST,HttpMethod.GET,null,String.class);
                    assertNotNull(response);    
                }
                catch(Exception e)
                {
                    System.out.println("e:"+e.getMessage());
                }
            }
        }