Spring Web Services Framework

org.springframework.ws.transport.http
Class HttpComponentsConnection

java.lang.Object
  extended by org.springframework.ws.transport.AbstractWebServiceConnection
      extended by org.springframework.ws.transport.AbstractSenderConnection
          extended by org.springframework.ws.transport.http.AbstractHttpSenderConnection
              extended by org.springframework.ws.transport.http.HttpComponentsConnection
All Implemented Interfaces:
FaultAwareWebServiceConnection, WebServiceConnection

public class HttpComponentsConnection
extends AbstractHttpSenderConnection

Implementation of WebServiceConnection that is based on Apache HttpClient. Exposes a HttpPost and HttpResponse.

Since:
2.1.0
Author:
Alan Stewart, Barry Pitman, Arjen Poutsma

Constructor Summary
protected HttpComponentsConnection(org.apache.http.client.HttpClient httpClient, org.apache.http.client.methods.HttpPost httpPost, org.apache.http.protocol.HttpContext httpContext)
           
 
Method Summary
protected  void addRequestHeader(String name, String value)
          Adds a request header with the given name and value.
 org.apache.http.client.methods.HttpPost getHttpPost()
           
 org.apache.http.HttpResponse getHttpResponse()
           
protected  InputStream getRawResponseInputStream()
          Returns the raw, possibly compressed input stream to read the response from.
protected  OutputStream getRequestOutputStream()
          Returns the output stream to write the request to.
protected  int getResponseCode()
          Returns the HTTP status code of the response.
protected  long getResponseContentLength()
          Returns the length of the response.
protected  Iterator<String> getResponseHeaderNames()
          Returns an iteration over all the header names this request contains.
protected  Iterator<String> getResponseHeaders(String name)
          Returns an iteration over all the string values of the specified header.
protected  String getResponseMessage()
          Returns the HTTP status message of the response.
 URI getUri()
          Returns the URI for this connection.
 void onClose()
          Template method invoked from AbstractWebServiceConnection.close().
protected  void onSendAfterWrite(WebServiceMessage message)
          Called after the given message has been written to the TransportOutputStream.
protected  void onSendBeforeWrite(WebServiceMessage message)
          Called before the given message has been written to the TransportOutputStream.
 
Methods inherited from class org.springframework.ws.transport.http.AbstractHttpSenderConnection
getErrorMessage, getResponseInputStream, hasError, hasFault, hasResponse, setFault
 
Methods inherited from class org.springframework.ws.transport.AbstractSenderConnection
createTransportInputStream, createTransportOutputStream
 
Methods inherited from class org.springframework.ws.transport.AbstractWebServiceConnection
close, onReceiveAfterRead, onReceiveBeforeRead, receive, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.ws.transport.WebServiceConnection
close, receive, send
 

Constructor Detail

HttpComponentsConnection

protected HttpComponentsConnection(org.apache.http.client.HttpClient httpClient,
                                   org.apache.http.client.methods.HttpPost httpPost,
                                   org.apache.http.protocol.HttpContext httpContext)
Method Detail

getHttpPost

public org.apache.http.client.methods.HttpPost getHttpPost()

getHttpResponse

public org.apache.http.HttpResponse getHttpResponse()

onClose

public void onClose()
             throws IOException
Description copied from class: AbstractSenderConnection
Template method invoked from AbstractWebServiceConnection.close(). Default implementation is empty.

Overrides:
onClose in class AbstractSenderConnection
Throws:
IOException - if an I/O error occurs when closing this connection

getUri

public URI getUri()
           throws URISyntaxException
Description copied from interface: WebServiceConnection
Returns the URI for this connection.

Throws:
URISyntaxException

onSendBeforeWrite

protected void onSendBeforeWrite(WebServiceMessage message)
                          throws IOException
Description copied from class: AbstractWebServiceConnection
Called before the given message has been written to the TransportOutputStream. Called from AbstractWebServiceConnection.send(WebServiceMessage).

Default implementation does nothing.

Overrides:
onSendBeforeWrite in class AbstractWebServiceConnection
Parameters:
message - the message
Throws:
IOException - when an I/O exception occurs

addRequestHeader

protected void addRequestHeader(String name,
                                String value)
                         throws IOException
Description copied from class: AbstractSenderConnection
Adds a request header with the given name and value. This method can be called multiple times, to allow for headers with multiple values.

Specified by:
addRequestHeader in class AbstractSenderConnection
Parameters:
name - the name of the header
value - the value of the header
Throws:
IOException

getRequestOutputStream

protected OutputStream getRequestOutputStream()
                                       throws IOException
Description copied from class: AbstractSenderConnection
Returns the output stream to write the request to.

Specified by:
getRequestOutputStream in class AbstractSenderConnection
Throws:
IOException

onSendAfterWrite

protected void onSendAfterWrite(WebServiceMessage message)
                         throws IOException
Description copied from class: AbstractWebServiceConnection
Called after the given message has been written to the TransportOutputStream. Called from AbstractWebServiceConnection.send(WebServiceMessage).

Default implementation does nothing.

Overrides:
onSendAfterWrite in class AbstractWebServiceConnection
Parameters:
message - the message
Throws:
IOException - when an I/O exception occurs

getResponseCode

protected int getResponseCode()
                       throws IOException
Description copied from class: AbstractHttpSenderConnection
Returns the HTTP status code of the response.

Specified by:
getResponseCode in class AbstractHttpSenderConnection
Throws:
IOException

getResponseMessage

protected String getResponseMessage()
                             throws IOException
Description copied from class: AbstractHttpSenderConnection
Returns the HTTP status message of the response.

Specified by:
getResponseMessage in class AbstractHttpSenderConnection
Throws:
IOException

getResponseContentLength

protected long getResponseContentLength()
                                 throws IOException
Description copied from class: AbstractHttpSenderConnection
Returns the length of the response.

Specified by:
getResponseContentLength in class AbstractHttpSenderConnection
Throws:
IOException

getRawResponseInputStream

protected InputStream getRawResponseInputStream()
                                         throws IOException
Description copied from class: AbstractHttpSenderConnection
Returns the raw, possibly compressed input stream to read the response from.

Specified by:
getRawResponseInputStream in class AbstractHttpSenderConnection
Throws:
IOException

getResponseHeaderNames

protected Iterator<String> getResponseHeaderNames()
                                           throws IOException
Description copied from class: AbstractSenderConnection
Returns an iteration over all the header names this request contains. Returns an empty Iterator if there are no headers.

Specified by:
getResponseHeaderNames in class AbstractSenderConnection
Throws:
IOException

getResponseHeaders

protected Iterator<String> getResponseHeaders(String name)
                                       throws IOException
Description copied from class: AbstractSenderConnection
Returns an iteration over all the string values of the specified header. Returns an empty Iterator if there are no headers of the specified name.

Specified by:
getResponseHeaders in class AbstractSenderConnection
Throws:
IOException

Spring Web Services Framework

Copyright © 2005-2013 The Spring Web Services Framework. All Rights Reserved.