Example usage for org.apache.commons.httpclient.contrib.ssl EasySSLProtocolSocketFactory createSocket

List of usage examples for org.apache.commons.httpclient.contrib.ssl EasySSLProtocolSocketFactory createSocket

Introduction

In this page you can find the example usage for org.apache.commons.httpclient.contrib.ssl EasySSLProtocolSocketFactory createSocket.

Prototype

public Socket createSocket(final String host, final int port, final InetAddress localAddress,
        final int localPort, final HttpConnectionParams params)
        throws IOException, UnknownHostException, ConnectTimeoutException 

Source Link

Document

Attempts to get a new socket connection to the given host within the given time limit.

Usage

From source file:com.eviware.soapui.impl.wsdl.support.http.SoapUIEasySSLProtocolSocketFactory.java

@Override
public Socket createSocket(String host, int port, InetAddress localAddress, int localPort,
        HttpConnectionParams params) throws IOException {
    String sslConfig = (String) params.getParameter(SoapUIHostConfiguration.SOAPUI_SSL_CONFIG);

    if (StringUtils.isNullOrEmpty(sslConfig)) {
        return enableSocket((SSLSocket) super.createSocket(host, port, localAddress, localPort, params));
    }/*  w  ww .j a v  a 2s.c o  m*/

    EasySSLProtocolSocketFactory factory = factoryMap.get(sslConfig);
    if (factory != null) {
        return enableSocket((SSLSocket) factory.createSocket(host, port, localAddress, localPort, params));
    }
    try {
        // try to create new factory for specified config
        factory = new EasySSLProtocolSocketFactory();

        int ix = sslConfig.lastIndexOf(' ');
        String keyStore = sslConfig.substring(0, ix);
        String pwd = sslConfig.substring(ix + 1);

        factory.setKeyMaterial(new KeyMaterial(keyStore, pwd.toCharArray()));
        factoryMap.put(sslConfig, factory);

        return enableSocket((SSLSocket) factory.createSocket(host, port, localAddress, localPort, params));
    } catch (Exception gse) {
        SoapUI.logError(gse);
        return enableSocket((SSLSocket) super.createSocket(host, port, localAddress, localPort, params));
    }
}