AXIS2 и JAX-WS, как я могу изменить подтверждение SSL? - PullRequest
0 голосов
/ 20 августа 2009

Мне нужно настроить рукопожатие SSL при вызове API JAX-WS поверх Axis2.

Я вообще не нахожу ссылки на то, как это сделать. С помощью Metro я могу установить пользовательский SSLSocketFactory, но для этого используется нестандартный API.

Как мне получить доступ к движку Axis, чтобы я мог перенастроить его перед отправкой запроса на мыло?

Ответы [ 4 ]

1 голос
/ 21 августа 2009

Возможно, у вас есть класс заглушки, который расширяет org.apache.axis2.client.Stub. Вы можете установить его транспортные свойства:

YourStubClass stub = new YourStubClass();
stub.initStub(endpointUrl);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.CACHED_HTTP_CLIENT, soapHttpClient);

Где endpointUrl - это строка, содержащая URL-адрес конечной точки, а soapHttpClient - это экземпляр HTTP-клиента Apache (org.apache.commons.httpclient.HttpClient).

Когда вы создаете объект HttpClient, вы можете настроить рукопожатие SSL.

0 голосов
/ 23 мая 2011

Вы можете установить SSLSocketFactory по умолчанию для HttpsURLConnection, используя статический метод setDefaultSSLSocketFactory. Тогда это будет фабрика сокетов для всех новых возможностей HttpsURLConnection. У нас это работает в приложении SE, думаю, оно будет работать и с Axis.

0 голосов
/ 30 сентября 2009

Я отказался от Axis2 и WebSphere SOAP. Потребовалось меньше времени, чтобы просто реализовать свой собственный JAX-WS, поддерживающий все, что мне нужно. Жаль.

0 голосов
/ 20 августа 2009

Axis2 настраивается с использованием axis.xml. Здесь - раздел о http-транспорте.

Вы также можете посмотреть на модуль rampart и его настройку.

Надеюсь, это поможет. По этой теме не так много информации.

...