Я пытаюсь установить связь с другим URL-адресом https с помощью метода «HttpClient API». Но я получаю следующее исключение:
SSLHandshakeException: получено фатальное предупреждение: handshake_failure
JDK 1.7
Сервер: Wildfly 9
Я также импортировал сертификат в хранилище ключей
Java code
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.MultipartPostMethod;
import org.apache.commons.httpclient.protocol.Protocol;
class SSLTest {
public static void main(String args[]) {
String responseString = "";
String sslStr = "https";
String urlString ="https://<urlString>/Registration?Param1=test";
HttpClient client = new HttpClient();
if(sslStr.equals("https")){
try{
Protocol httpsProtocol = new Protocol( "https", new EasySSLProtocolSocketFactory(), serverPort);
Protocol.registerProtocol("https", httpsProtocol);
client.getHostConfiguration().setHost(serverip, serverPort,httpsProtocol);
}catch(Exception e2){
System.out.println("Fail to create certificate :"+e2.getMessage());
}
}
MultipartPostMethod mPost = new MultipartPostMethod(urlString);
client.setConnectionTimeout(1000*3*60);
try{
int statusCode = client.executeMethod(mPost);
}catch(Exception e2){
System.out.println("Exception: "+e2.getMessage());
}
responseString = mPost.getResponseBodyAsString();
mPost.releaseConnection();
System.out.println("responseString = " + responseString);
}
}
-------
Output
-------
Exception: Received fatal alert: handshake_failure
responseString = NULL
Ожидаемый результат: Должен достигнуть указанного URL-сервера. Но и здесь невозможно связаться с сервером.
Заранее спасибо.