Клиент JAXWS для вызова веб-службы JAXWS с использованием аутентификации сервера X509 - PullRequest
0 голосов
/ 04 января 2012

Я создал веб-сервис JAXWS из wsdl с помощью задачи ANT wsdlc и развернул его в Weblogic 10.3.0.И у нас есть Sun One Java Server 7.0, на котором установлен и настроен сертификат Verisign Server для пересылки запросов веб-службы в weblogic.

Я создал клиент JAXWS, используя задачу ant wsimport для вызова веб-службы.При запуске клиента с использованием https URL я вижу, что запрос xml в weblogic и webservice успешно обрабатываются.Но я не смог найти никаких свидетельств о сертификате x509 в запросе / ответе xml.Нужно ли что-то делать на стороне клиента, кроме создания заглушек с помощью wsimport?К вашему сведению, при просмотре wsdl через браузер я вижу информацию о сертификате через браузер.

Ответы [ 2 ]

5 голосов
/ 04 января 2012

При подключении к WebService через HTTPS ваш клиент и сервер осуществляют обмен сертификатами x509.Это то, что выполняется на уровне соединения, wsimport не имеет к этому никакого отношения.Если вы хотите использовать сертификаты x509 на этом уровне, вам нужно зайти в аутентификацию сертификата клиента Java HTTPS / Java-клиент для защищенного веб-сервиса X.509 и на стороне сервера Защита сервера WebLogic: настройка SSL .

В качестве альтернативы вы можете перейти на один уровень ниже: использовать протокол HTTP для подключения к серверу и выполнять шифрование / подписывание / аутентификацию на уровне SOAP.Затем укажите Проверка подлинности пользователя в SOAP или Использование веб-служб на основе JAX-WS с SSL для служб Metro / JAX-WS, WS-Security для Apache CXF, Spring Security с сертификатом X.509 для Spring Security - в зависимости от того, какую среду вы выберете.

0 голосов
/ 07 января 2012

Я могу подтвердить рукопожатие SSL, используя -Djavax.net.debug = all.Я не изменил свой клиент для включения хранилища доверенных сертификатов, и он не нужен, если сертификат подписан доверенным центром сертификации.

...