Мне нужен доступ к веб-сервису JAX-WS, защищенному с помощью SSL, с использованием клиента Jersey.Я успешно получил эту работу с ограниченной конфигурацией и просто позволил клиенту использовать API HTTPURLConnection по умолчанию.
Однако этот подход не будет работать для моего общего решения, поскольку он не позволяет мне гибко изменять учетные данные, используемые при отправке запроса на WS.Я пытаюсь использовать DefaultHTTPClient, а затем передать его объекту Client при инициализации.
NTCredentials credentials = new NTCredentials("username", "password",
computerName, domainName);
DefaultHttpClient httpClienttemp = new DefaultHttpClient();
DefaultHttpClient httpClient = wrapClient(httpClienttemp);
httpClient.getCredentialsProvider().setCredentials(AuthScope.ANY, credentials );
ClientConfig config = new DefaultClientConfig();
Метод wrapClient создает X509TrustManager и переопределяет необходимые методы, чтобы все сертификаты были приняты.Он также создает запись SchemeRegistry для доступа https через порт 443. Эта конфигурация приводит к исключению «Отказано в соединении».
Странно, если я добавлю дополнительную запись в SchemeRegistry для http и предоставлю ей порт443, тогда запрос действительно отправляется, однако затем возникает исключение сброса подключения.
URL, который я использую для создания объекта WebResource, - это https, однако SOAPAction, который я объявляю в заголовке, использует http.Любые идеи, где я иду не так?