org.apache.xmlrpc

Class CommonsXmlRpcTransport

Implemented Interfaces:
XmlRpcTransport

public class CommonsXmlRpcTransport
extends java.lang.Object
implements XmlRpcTransport

Implementor of the XmlRpcTransport interface using the Apache Commons HttpClient library v2.0 available at http://jakarta.apache.org/commons/httpclient/ Note: Currently this transport is not thread safe
Version:
$Id: CommonsXmlRpcTransport.java 350039 2005-11-30 21:30:55 +0100 (Mi, 30 Nov 2005) jochen $
Author:
Ryan Hoegg
Since:
2.0

Field Summary

private HttpClient
client
private Credentials
creds
private boolean
gzip
private boolean
http11
protected PostMethod
method
private boolean
rgzip
private URL
url
private Header
userAgentHeader

Constructor Summary

CommonsXmlRpcTransport(URL url)
CommonsXmlRpcTransport(URL url, HttpClient client)
Creates a new instance of CommonsXmlRpcTransport

Method Summary

void
endClientRequest()
Releases connection resources.
InputStream
sendXmlRpc(byte[] request)
Send an XML-RPC message.
void
setBasicAuthentication(String auth)
Sets Authentication for this client.
void
setBasicAuthentication(String user, String password)
Sets Authentication for this client, very basic for now user/password
void
setConnectionTimeout(int ctimeout)
Sets the timeout until a connection is etablished.
void
setGzip(boolean gzip)
Transport make use of the 'Accept-Encoding: gzip', so compliant HTTP servers could return HTTP reply compressed with gzip
void
setHttp11(boolean http11)
Make use of HTTP 1.1
void
setRGzip(boolean gzip)
Transport make use of the 'Content-Encoding: gzip' and send HTTP request compressed with gzip : works only with some compliant HTTP servers like Apache 2.x using SetInputFilter DEFLATE.
void
setTimeout(int timeout)
Sets the socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data.
void
setUserAgent(String userAgent)
Set the UserAgent for this client

Field Details

client

private HttpClient client

creds

private Credentials creds

gzip

private boolean gzip

http11

private boolean http11

method

protected PostMethod method

rgzip

private boolean rgzip

url

private URL url

userAgentHeader

private final Header userAgentHeader

Constructor Details

CommonsXmlRpcTransport

public CommonsXmlRpcTransport(URL url)

CommonsXmlRpcTransport

public CommonsXmlRpcTransport(URL url,
                              HttpClient client)
Creates a new instance of CommonsXmlRpcTransport

Method Details

endClientRequest

public void endClientRequest()
            throws XmlRpcClientException
Releases connection resources.
Specified by:
endClientRequest in interface XmlRpcTransport

sendXmlRpc

public InputStream sendXmlRpc(byte[] request)
            throws IOException,
                   XmlRpcClientException
Send an XML-RPC message. This method is called to send a message to the other party.
Specified by:
sendXmlRpc in interface XmlRpcTransport
Parameters:
request - the request in network encoding.
Throws:
XmlRpcClientException - if an exception occurs in the transport.

setBasicAuthentication

public void setBasicAuthentication(String auth)
Sets Authentication for this client.
Parameters:
auth - the : formed string used for basic \ authentication

setBasicAuthentication

public void setBasicAuthentication(String user,
                                   String password)
Sets Authentication for this client, very basic for now user/password
Parameters:
user -
password -

setConnectionTimeout

public void setConnectionTimeout(int ctimeout)
Sets the timeout until a connection is etablished. A timeout value of zero means the timeout is not used. The default value is zero.
Parameters:
See Also:
HttpConnection.setConnectionTimeout(int)

setGzip

public void setGzip(boolean gzip)
Transport make use of the 'Accept-Encoding: gzip', so compliant HTTP servers could return HTTP reply compressed with gzip
Parameters:
gzip - Gzip compression will be used if gzip is true

setHttp11

public void setHttp11(boolean http11)
Make use of HTTP 1.1
Parameters:
http11 - HTTP 1.1 will be used if http11 is true

setRGzip

public void setRGzip(boolean gzip)
Transport make use of the 'Content-Encoding: gzip' and send HTTP request compressed with gzip : works only with some compliant HTTP servers like Apache 2.x using SetInputFilter DEFLATE.
Parameters:
gzip - Compress request with gzip if gzip is true

setTimeout

public void setTimeout(int timeout)
Sets the socket timeout (SO_TIMEOUT) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout.
Parameters:

setUserAgent

public void setUserAgent(String userAgent)
Set the UserAgent for this client
Parameters:
userAgent -

Copyright B) 1999-2002 Apache Software Foundation. All Rights Reserved.