So rufen Sie HTTPS restful web services mit Spring RestTemplate

Ich bin mit Tomcat7, Spring-framework für ReST-web-services.
Ich bin versucht zu rufen, eine https web service mit Frühjahr RestTemplate.
Ich erhalte die folgende Fehlermeldung:

unable to find valid certification path to requested target; geschachtelte
Ausnahme ist javax.net.ssl.SSLHandshakeException:
Sonne.Sicherheit.validator.ValidatorException: PKIX path building failed:
Sonne.Sicherheit.Anbieter.certpath.SunCertPathBuilderException: nicht
finden eine gültige Zertifizierung Pfad zum angeforderten Ziel

Ich check online bei stackoverflow. Ich habe versucht, das Beispiel-code aus der url:
Zugriff auf Https-Rest-Service mit Spring RestTemplate

Ich konnte es nicht zu funktionieren.
Kann jemand bitte sagen Sie mir, basierend auf den code unten, was muss ich ändern?
Auch kann mir jemand sagen, oder mir die pom.xml Datei, die java-Bibliotheken, die würde ich brauchen?

        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());
                }
            }


        }

InformationsquelleAutor user1272936 | 2017-02-19

Schreibe einen Kommentar