Axis 1.4 - пользовательский сокет не загружен во время вызова веб-службы - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь вызвать веб-сервис с взаимной аутентификацией (сертификат сервера и клиента), используя ось 1.4, работающую на сервере weblogi c.

Чтобы загрузить свое собственное хранилище ключей, содержащее ключи клиента, я создал Пользовательский SocketFactory, реализующий интерфейс SecureSocketFactory, который инициализирует SSLContext с моим хранилищем ключей, и я установил его в Axis Properties перед вызовом:

AxisProperties.setProperty("axis.socketSecureFactory", "en.card.dao.CustomSecureSocketFactory");

Я в своей среде разработки, все в порядке. Я звоню в службу, и рукопожатие работает.

При развертывании пакета в тестовой среде я получаю эту ошибку:

org.apache.axis.AxisFault: ; nested exception is: 
    javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
    at org.apache.axis.AxisFault.makeFault(AxisFault.java:101) ~[axis-1.4.jar:?]
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154) ~[axis-1.4.jar:?]
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) ~[axis-1.4.jar:?]
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) ~[axis-1.4.jar:?]
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) ~[axis-1.4.jar:?]
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165) ~[axis-1.4.jar:?]
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784) ~[axis-1.4.jar:?]
    at org.apache.axis.client.Call.invoke(Call.java:2767) ~[axis-1.4.jar:?]
    at org.apache.axis.client.Call.invoke(Call.java:2443) ~[axis-1.4.jar:?]
    at org.apache.axis.client.Call.invoke(Call.java:2366) ~[axis-1.4.jar:?]
    at org.apache.axis.client.Call.invoke(Call.java:1812) ~[axis-1.4.jar:?]

Сравнение журналов тестирования и разработки Я заметил, что в тестовой среде Класс CartesioSecureSocketFactory не инициализируется во время вызова службы, и настраиваемое хранилище ключей не проверяется и не проверяется, например, если свойство axis.socketSecureFactory не читается и ось использует стандартный SSLContext.

Я уже проверил, что: - конечная точка может быть повторно подключена в обеих средах (в противном случае я не получу ошибку рукопожатия) - развернутое пользовательское хранилище ключей одинаково и работает в обоих средах (я проверял это в тестовой среде, непосредственно создавая CustomSecureSocketFactory).

I начинаю предполагать, что проблема в конфигурации weblogi c.

У кого-то есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...