SSLException: нераспознанное сообщение SSL, ошибка соединения в виде открытого текста в Java-приложении AXIS - PullRequest
0 голосов
/ 15 апреля 2011

У меня есть Java-приложение, которое использует Axis для получения данных из веб-службы. веб-сервис доступен через HTTPS. Он отлично работает на моем локальном компьютере, но клиент использует прокси. Я добавил настройки для прокси:

System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", host);
System.getProperties().put( "proxyPort", port);
Authenticator.setDefault(new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username,
            password.toCharArray());
    }
});

но клиенты получают исключение:

faultDetail: 
    {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    ...

Кто-нибудь может здесь помочь?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

Не удалось решить эту проблему.Наше приложение было переписано с использованием простых запросов HTTP POST (с Apache HTTPClient 3.0), т.е. без Axis.

0 голосов
/ 15 апреля 2011
 System.getProperties().put( "proxySet", "true" );

Это ничего не делает. Удалить. В JDK такого свойства нет.

 System.getProperties().put( "proxyHost", host);
 System.getProperties().put( "proxyPort", port);

Если вы используете SSL, это должны быть https.proxyHost / https.proxyPort соответственно. Для незашифрованных соединений, http.proxyHost / http.proxyPort.

...