Я пытаюсь создать java-адаптер для извлечения данных json из API "https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22", используя https. Я попытался использовать:
@GET
@Path("/unprotected")
@Produces(MediaType.TEXT_PLAIN)
@OAuthSecurity(enabled = false)
public String unprotected() {
StringBuffer content = new StringBuffer();
logger.info("fucntion caller");
try {
System.setProperty("java.protocol.handler.pkgs",
"com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
URL url = new URL(
"https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22");
URLConnection con = (URLConnection) url.openConnection();
logger.info("responce status");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
content.append(inputLine);
logger.info("MYFind Data" + content.toString());
in.close();
} catch (Exception e) {
logger.info("Custom Error" + e.getMessage());
}
return content.toString();
}
Получение вывода в файле журнала:
I FFDC1015I: Создан инцидент FFDC: "sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной целиcom.ibm.ws.ssl.core.WSX509TrustManager checkServerTrusted "at ffdc_19.02.06_11.55.08.0.log
[02.06.19 11: 55: 08: 834 IST] 000000e0 com.ibm.ws.ssl.core.WSX509TrustManager E CWPKI0022E: СБОЙ SSL HANDSHAKE: Подписчик с SubjectDN CN = *. openweathermap.org, OU = EssentialSSL Подстановочный знак, OU = Проверка домена проверена, был отправлен с целевого хоста. Возможно, необходимо добавить подписавшего.в локальное доверенное хранилище C: /Users/Admin/MobileFirst-8.0.0.0/mfp-server/usr/servers/mfp/resources/security/key.jks, расположенное в псевдониме конфигурации SSL defaultSSLConfig.Исключением из рукопожатия SSL является следующее: Сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели
[6/2/19 11:55:08:842 IST] 000000e0 com.wether.JavaAdapterMainResource I Custom Errorjava.security.cert.CertificateException: сбой при построении пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: не удается найти действительный путь сертификации для запрошенной цели