веб-сервис через порт PAT через безопасное соединение - PullRequest
1 голос
/ 01 июля 2019

У меня проблема при производстве при подключении к веб-сервису.

Ниже приведено сообщение об ошибке

Ошибка: невозможно вызвать URI конечной точки "https://example.com/WebserviceLibrary/test.asmx" успешно из-за: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Ошибка отправки сообщения: sun.security.validator.ValidatorException: PKIX Ошибка построения пути: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

Ошибка при использовании инструмента SOA при отправке заданий. Веб-сервер размещен на IIS через защищенный порт

Информация о SOA:

SOA создает клиента WSDL во время выполнения и использует URL-адрес конечной точки порта привязки службы из WSDL, полученный во время выполнения.

SOA использует концепцию обнаружения службы из реестра, затем чтения полученного WSDL и вызова службы в указанной конечной точке в полученном WSDL.

Я вижу, что клиент WSDL, созданный во время выполнения SOA, имеет URI местоположения "https://example.com/WebserviceLibrary/test.asmx"

У них подключен внешний порт PAT. Сервер имеет порт PAT, скажем, 11560. URL-адрес с IP-адресом и портом PAT 11560 работает нормально и может подключаться по URL-адресу. Они могут проверить это с помощью команды curl или любых не Java-кодов SOA.

Они могут подключиться к этому URI «https://example.com:11560/WebserviceLibrary/test.asmx"

Эта проблема не возникает при внутреннем тестировании в наших средах, поскольку внешний порт PAT не задействован.

Я подозреваю, что причиной этой проблемы может быть порт PAT, но не знаю, как это может произойти.

Хотя в сообщении об ошибке говорится, что это какая-то проблема с сертификатом, но они могут подключиться и проверить IP-адрес и порт на https.

Я думаю, что одним из способов решения этой проблемы является размещение веб-сервера на IIS через порт PAT. Ребята, у вас есть альтернативное решение для этого?

Заранее спасибо!

1 Ответ

0 голосов
/ 10 июля 2019

Не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели

Насколько я знаю, при попытке открытьSSL-соединение с хостом с использованием JSSE.Обычно это означает, что сервер использует тестовый сертификат (возможно, сгенерированный с помощью keytool), а не сертификат, который находится в хранилище системных сертификатов. Поэтому вы можете попробовать отредактировать файл JAVA_HOME / jre / lib / security / cacerts или запуститьприложение с параметром -Djavax.net.ssl.trustStore для добавления сертификата.

...