[ 
http://issues.apache.org/jira/browse/XMLRPC-107?page=comments#action_12430409 ] 
            
Catalin Hritcu commented on XMLRPC-107:
---------------------------------------

Sorry, but the current resolution is NOT satisfactory. Now the newSocket method 
can be overridden:

    protected Socket newSocket() throws UnknownHostException, IOException {
        return new Socket(hostname, port);
    }

However, hostname and port are private fields, so they cannot be accessed in a 
subclass. Probably the best way to fix this would be to give them as arguments 
to the newSocket method (like in the attached patch).

    protected Socket newSocket(String hostname, int port) throws 
UnknownHostException, IOException {
        return new Socket(hostname, port);
    }


> Allowing other Socket types to be used with XmlRpcLiteHttpTransport
> -------------------------------------------------------------------
>
>                 Key: XMLRPC-107
>                 URL: http://issues.apache.org/jira/browse/XMLRPC-107
>             Project: XML-RPC
>          Issue Type: Improvement
>          Components: Source
>    Affects Versions: 3.0rc1
>            Reporter: Catalin Hritcu
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: xmlrpc-3.0rc1.patch, xmlrpc-trunk.patch
>
>
> Since the p2psockets port of xmlrpc is obsolete (version 1.2b), I decided 
> today to do my own port of 3.0rc1. Since p2psockets replace normal java.net 
> sockets this task is quite easy. On the server at least all I had to do was 
> to subclass WebServer or ServletWebServer and provide an implementation for 
> the createServerSocket method, that now creates a P2PServerSocket instead of 
> a ServerSocket. However, on the client side things are a little uglier, since 
> here XmlRpcLiteHttpTransport does not provide such an extension point. The 
> private getOutputStream method creates a normal Socket, and there is little I 
> can do about it ... other than copying the whole file, changing that single 
> line and the class name. Is there any easy way to do such an extension? If 
> not, would it be possible to have a protected createSocket method in the 
> XmlRpcLiteHttpTransport class that is invoked in the getOutputStream method?
> PS: In case you think this it is a good idea, I attached a patch.

-- 
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

        

Reply via email to