Package org.apache.xmlrpc.client
Class XmlRpcCommonsTransport
- java.lang.Object
-
- org.apache.xmlrpc.client.XmlRpcTransportImpl
-
- org.apache.xmlrpc.client.XmlRpcStreamTransport
-
- org.apache.xmlrpc.client.XmlRpcHttpTransport
-
- org.apache.xmlrpc.client.XmlRpcCommonsTransport
-
- All Implemented Interfaces:
XmlRpcTransport
public class XmlRpcCommonsTransport extends XmlRpcHttpTransport
An HTTP transport factory, which is based on the Jakarta Commons HTTP Client.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.xmlrpc.client.XmlRpcHttpTransport
XmlRpcHttpTransport.ByteArrayReqWriter
-
Nested classes/interfaces inherited from class org.apache.xmlrpc.client.XmlRpcStreamTransport
XmlRpcStreamTransport.GzipReqWriter, XmlRpcStreamTransport.ReqWriter, XmlRpcStreamTransport.ReqWriterImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.httpclient.HttpClient
client
private XmlRpcHttpClientConfig
config
private int
contentLength
private static int
MAX_REDIRECT_ATTEMPTS
Maximum number of allowed redirects.protected org.apache.commons.httpclient.methods.PostMethod
method
private static java.lang.String
userAgent
-
Fields inherited from class org.apache.xmlrpc.client.XmlRpcHttpTransport
USER_AGENT
-
-
Constructor Summary
Constructors Constructor Description XmlRpcCommonsTransport(XmlRpcCommonsTransportFactory pFactory)
Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkStatus(org.apache.commons.httpclient.HttpMethod pMethod)
Check the status of the HTTP request and throw an XmlRpcHttpTransportException if it indicates that there is an error.protected void
close()
Closes the connection and ensures, that all resources are being released.protected java.io.InputStream
getInputStream()
Returns the input stream, from which the response is being read.protected void
initHttpHeaders(XmlRpcRequest pRequest)
protected boolean
isRedirectRequired()
protected boolean
isResponseGzipCompressed()
protected boolean
isResponseGzipCompressed(XmlRpcStreamRequestConfig pConfig)
Returns, whether the response is gzip compressed.protected org.apache.commons.httpclient.HttpClient
newHttpClient()
protected org.apache.commons.httpclient.methods.PostMethod
newPostMethod(XmlRpcHttpClientConfig pConfig)
protected void
resetClientForRedirect()
protected void
setContentLength(int pLength)
protected void
setCredentials(XmlRpcHttpClientConfig pConfig)
protected void
setRequestHeader(java.lang.String pHeader, java.lang.String pValue)
protected void
writeRequest(XmlRpcStreamTransport.ReqWriter pWriter)
-
Methods inherited from class org.apache.xmlrpc.client.XmlRpcHttpTransport
getUserAgent, isUsingByteArrayOutput, newReqWriter, sendRequest, setCompressionHeaders
-
Methods inherited from class org.apache.xmlrpc.client.XmlRpcStreamTransport
isCompressingRequest, newXMLReader, readResponse
-
Methods inherited from class org.apache.xmlrpc.client.XmlRpcTransportImpl
getClient
-
-
-
-
Field Detail
-
MAX_REDIRECT_ATTEMPTS
private static final int MAX_REDIRECT_ATTEMPTS
Maximum number of allowed redirects.- See Also:
- Constant Field Values
-
client
protected final org.apache.commons.httpclient.HttpClient client
-
userAgent
private static final java.lang.String userAgent
-
method
protected org.apache.commons.httpclient.methods.PostMethod method
-
contentLength
private int contentLength
-
config
private XmlRpcHttpClientConfig config
-
-
Constructor Detail
-
XmlRpcCommonsTransport
public XmlRpcCommonsTransport(XmlRpcCommonsTransportFactory pFactory)
Creates a new instance.- Parameters:
pFactory
- The factory, which created this transport.
-
-
Method Detail
-
setContentLength
protected void setContentLength(int pLength)
- Overrides:
setContentLength
in classXmlRpcHttpTransport
-
newHttpClient
protected org.apache.commons.httpclient.HttpClient newHttpClient()
-
initHttpHeaders
protected void initHttpHeaders(XmlRpcRequest pRequest) throws XmlRpcClientException
- Overrides:
initHttpHeaders
in classXmlRpcHttpTransport
- Throws:
XmlRpcClientException
-
newPostMethod
protected org.apache.commons.httpclient.methods.PostMethod newPostMethod(XmlRpcHttpClientConfig pConfig)
-
setRequestHeader
protected void setRequestHeader(java.lang.String pHeader, java.lang.String pValue)
- Specified by:
setRequestHeader
in classXmlRpcHttpTransport
-
isResponseGzipCompressed
protected boolean isResponseGzipCompressed()
-
getInputStream
protected java.io.InputStream getInputStream() throws XmlRpcException
Description copied from class:XmlRpcStreamTransport
Returns the input stream, from which the response is being read.- Specified by:
getInputStream
in classXmlRpcStreamTransport
- Throws:
XmlRpcException
-
setCredentials
protected void setCredentials(XmlRpcHttpClientConfig pConfig) throws XmlRpcClientException
- Overrides:
setCredentials
in classXmlRpcHttpTransport
- Throws:
XmlRpcClientException
-
close
protected void close() throws XmlRpcClientException
Description copied from class:XmlRpcStreamTransport
Closes the connection and ensures, that all resources are being released.- Specified by:
close
in classXmlRpcStreamTransport
- Throws:
XmlRpcClientException
-
isResponseGzipCompressed
protected boolean isResponseGzipCompressed(XmlRpcStreamRequestConfig pConfig)
Description copied from class:XmlRpcStreamTransport
Returns, whether the response is gzip compressed.- Specified by:
isResponseGzipCompressed
in classXmlRpcStreamTransport
- Parameters:
pConfig
- The clients configuration.- Returns:
- Whether the response stream is gzip compressed.
-
isRedirectRequired
protected boolean isRedirectRequired()
-
resetClientForRedirect
protected void resetClientForRedirect() throws XmlRpcException
- Throws:
XmlRpcException
-
writeRequest
protected void writeRequest(XmlRpcStreamTransport.ReqWriter pWriter) throws XmlRpcException
- Specified by:
writeRequest
in classXmlRpcStreamTransport
- Throws:
XmlRpcException
-
checkStatus
private void checkStatus(org.apache.commons.httpclient.HttpMethod pMethod) throws XmlRpcHttpTransportException
Check the status of the HTTP request and throw an XmlRpcHttpTransportException if it indicates that there is an error.- Parameters:
pMethod
- the method that has been executed- Throws:
XmlRpcHttpTransportException
- if the status of the method indicates that there is an error.
-
-