f.setHttpClient(h); client.setTransportFactory(f);
protected Confluence(String endpoint, ConfluenceProxy proxyInfo ) throws URISyntaxException, MalformedURLException { this(new XmlRpcClient()); if (endpoint.endsWith("/")) { endpoint = endpoint.substring(0, endpoint.length() - 1); } endpoint = ConfluenceService.Protocol.XMLRPC.addTo(endpoint); final java.net.URI serviceURI = new java.net.URI(endpoint); XmlRpcClientConfigImpl clientConfig = new XmlRpcClientConfigImpl(); clientConfig.setServerURL(serviceURI.toURL() ); clientConfig.setEnabledForExtensions(true); // add this to support attachment upload client.setConfig( clientConfig ); if( isProxyEnabled(proxyInfo, serviceURI) ) { final XmlRpcCommonsTransportFactory transportFactory = new XmlRpcCommonsTransportFactory( client ); final HttpClient httpClient = new HttpClient(); final HostConfiguration hostConfiguration = httpClient.getHostConfiguration(); hostConfiguration.setProxy( proxyInfo.host, proxyInfo.port ); hostConfiguration.setHost(serviceURI.getHost(), serviceURI.getPort(), serviceURI.toURL().getProtocol()); if( !isNullOrEmpty(proxyInfo.userName) && !isNullOrEmpty(proxyInfo.password) ) { Credentials cred = new UsernamePasswordCredentials(proxyInfo.userName,proxyInfo.password); httpClient.getState().setProxyCredentials(AuthScope.ANY, cred); } transportFactory.setHttpClient( httpClient ); client.setTransportFactory( transportFactory ); } } // Would have been nicer to have a constructor with clientConfig and optionally a transport
protected Confluence(String endpoint, ConfluenceProxy proxyInfo ) throws URISyntaxException, MalformedURLException { this(new XmlRpcClient()); if (endpoint.endsWith("/")) { endpoint = endpoint.substring(0, endpoint.length() - 1); } endpoint = ConfluenceService.Protocol.XMLRPC.addTo(endpoint); final java.net.URI serviceURI = new java.net.URI(endpoint); XmlRpcClientConfigImpl clientConfig = new XmlRpcClientConfigImpl(); clientConfig.setServerURL(serviceURI.toURL() ); clientConfig.setEnabledForExtensions(true); // add this to support attachment upload client.setConfig( clientConfig ); if( isProxyEnabled(proxyInfo, serviceURI) ) { final XmlRpcCommonsTransportFactory transportFactory = new XmlRpcCommonsTransportFactory( client ); final HttpClient httpClient = new HttpClient(); final HostConfiguration hostConfiguration = httpClient.getHostConfiguration(); hostConfiguration.setProxy( proxyInfo.host, proxyInfo.port ); hostConfiguration.setHost(serviceURI.getHost(), serviceURI.getPort(), serviceURI.toURL().getProtocol()); if( !isNullOrEmpty(proxyInfo.userName) && !isNullOrEmpty(proxyInfo.password) ) { Credentials cred = new UsernamePasswordCredentials(proxyInfo.userName,proxyInfo.password); httpClient.getState().setProxyCredentials(AuthScope.ANY, cred); } transportFactory.setHttpClient( httpClient ); client.setTransportFactory( transportFactory ); } } // Would have been nicer to have a constructor with clientConfig and optionally a transport
f.setHttpClient(h); client.setTransportFactory(f);
f.setHttpClient(h); client.setTransportFactory(f);
protected TalkToRegistry() { super(); // We use our own HttpClient with an HttpConnectionManager // configured with timeouts, so we don't block the liveness // thread forever. // Connect timeout, 10 seconds; Read timeout, 5 seconds; Close timeout, 3 seconds. connMgr = new SimpleHttpConnectionManager(true); connMgr.getParams().setConnectionTimeout(10*1000); connMgr.getParams().setSoTimeout(5*1000); connMgr.getParams().setLinger(3); httpClient = new HttpClient(connMgr); // We use XmlRpcCommonsTransportFactory, initialized // using the HttpClient from above, so that SSLContexts // work. xmlrpcClient = new XmlRpcClient(); xmlrpcClientConfig = new XmlRpcClientConfigImpl(); transportFactory = new XmlRpcCommonsTransportFactory(xmlrpcClient); transportFactory.setHttpClient(httpClient); xmlrpcClient.setTransportFactory(transportFactory); // Finally - since the SimpleHttpConnectionManager only // provides one backend HttpConnection, ensure that the // XmlRpcClient only has one backend worker available to // consume it. xmlrpcClient.setMaxThreads(1); }
private XmlRpcClient getXmlRpcClient( URL url, ConnectionInfo connectionInfo ) { XmlRpcClientConfigImpl clientConfig = new XmlRpcClientConfigImpl(); clientConfig.setServerURL( url ); clientConfig.setEnabledForExceptions( true ); if ( connectionInfo != null ) { clientConfig.setBasicUserName( connectionInfo.getUsername() ); clientConfig.setBasicPassword( connectionInfo.getPassword() ); clientConfig.setBasicEncoding( connectionInfo.getEncoding() ); clientConfig.setGzipCompressing( connectionInfo.isGzip() ); clientConfig.setGzipRequesting( connectionInfo.isGzip() ); clientConfig.setReplyTimeout( connectionInfo.getTimeout() ); clientConfig.setConnectionTimeout( connectionInfo.getTimeout() ); clientConfig.setTimeZone( connectionInfo.getTimeZone() ); } final XmlRpcClient client = new XmlRpcClient(); client.setTypeFactory( new BinderTypeFactory( client ) ); XmlRpcCommonsTransportFactory factory = new XmlRpcCommonsTransportFactory( client ); // Alternative - use simple connection manager, but make sure it closes the connection each time // This would be set here since it would not be thread-safe // factory.setHttpClient( new HttpClient( new SimpleHttpConnectionManager( true ) ) ); factory.setHttpClient( httpClient ); client.setConfig( clientConfig ); return client; }