[ 
http://issues.apache.org/jira/browse/XMLRPC-101?page=comments#action_12424598 ] 
            
Julio Francisco Veronelli commented on XMLRPC-101:
--------------------------------------------------

I copy the method i'm trying to overwrite as an example. I think it would be a 
nice improvement to be able to create a customized connection by overwriting a 
method in XmlRpcSunHttpTransport.

  public Object sendRequest(XmlRpcRequest pRequest) throws XmlRpcException {
    XmlRpcHttpClientConfig config = 
(XmlRpcHttpClientConfig)pRequest.getConfig();
    URLConnection result = null;
    try {
      //TIP set trusted certificates
      if ((_sslFactory == null) && (_keystore != null)) {
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
        tmf.init(_keystore);
        SSLContext sslContext = SSLContext.getInstance("TLS");
        sslContext.init(null,tmf.getTrustManagers(),null);
        _sslFactory = sslContext.getSocketFactory();
      }
      //TIP create connection
      URL url = config.getServerURL();
      if (_proxy != null) result = url.openConnection(_proxy);
      else result = url.openConnection();
      if ((_sslFactory != null) && (result instanceof HttpsURLConnection))
        ((HttpsURLConnection)result).setSSLSocketFactory(_sslFactory);
      result.setUseCaches(false);
      result.setDoInput(true);
      result.setDoOutput(true);
    }
    catch (GeneralSecurityException ex) {
      throw new XmlRpcException("Failed to set certificate trust chain",ex);
    }
    catch (Exception ex) {
      throw new XmlRpcException("Failed to create URLConnection: " + 
ex.getMessage(),ex);
    }
    return super.sendRequest(pRequest);
  }

> Possibility to subclass XmlRpcSunHttpTransport for added functionality
> ----------------------------------------------------------------------
>
>                 Key: XMLRPC-101
>                 URL: http://issues.apache.org/jira/browse/XMLRPC-101
>             Project: XML-RPC
>          Issue Type: Improvement
>          Components: Source
>    Affects Versions: 3.0rc1
>            Reporter: Julio Francisco Veronelli
>            Priority: Trivial
>
> Could it be possible to make the URLConnection in class 
> org.apache.xmlrpc.client.XmlRpcSunHttpTransport protected instead of private? 
> That is:
> protected URLConnection conn;
> REASON:
> That way is much easier to subclass for added functionality. In particular, 
> i'm subclassing it to set a java.net.Proxy or a java.security.KeyStore used 
> for setting a SSL connection.
> In XML-RPC 3.0a1 it was easy to do, all that was needed was to subclass 
> method newConnection(). In 3.0RC1 that method is gone, and overwriting 
> sendRequest(XmlRpcRequest) is not possible, since conn is private.
> I tried also extending XmlRpcHttpTransport, but it is not possible, because 
> org.apache.xmlrpc.client.XmlRpcStreamTransport.RequestWriter is protected and 
> cannot be accessed.
> Thanks in advance.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to