HttpInvokerRequestExecutor (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.remoting.httpinvoker

## Interface HttpInvokerRequestExecutor

- All Known Implementing Classes:
    AbstractHttpInvokerRequestExecutor, CommonsHttpInvokerRequestExecutor, HttpComponentsHttpInvokerRequestExecutor, SimpleHttpInvokerRequestExecutor

      public interface HttpInvokerRequestExecutor

  Strategy interface for actual execution of an HTTP invoker request. Used by HttpInvokerClientInterceptor and its subclass HttpInvokerProxyFactoryBean.

  Two implementations are provided out of the box:

  - SimpleHttpInvokerRequestExecutor: Uses J2SE facilities to execute POST requests, without support for HTTP authentication or advanced configuration options.
  - CommonsHttpInvokerRequestExecutor: Uses Jakarta's Commons HttpClient to execute POST requests, allowing to use a preconfigured HttpClient instance (potentially with authentication, HTTP connection pooling, etc).
  Since:
    1.1
  Author:
    Juergen Hoeller
  See Also:
    `HttpInvokerClientInterceptor.setHttpInvokerRequestExecutor(org.springframework.remoting.httpinvoker.HttpInvokerRequestExecutor)`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `RemoteInvocationResult` | `executeRequest(HttpInvokerClientConfiguration config, RemoteInvocation invocation)` Execute a request to send the given remote invocation.

- - ### Method Detail

    - #### executeRequest

          RemoteInvocationResult executeRequest(HttpInvokerClientConfiguration config,
                                              RemoteInvocation invocation)
                                                throws Exception

      Execute a request to send the given remote invocation.
      Parameters:
        `config` - the HTTP invoker configuration that specifies the target service
        `invocation` - the RemoteInvocation to execute
      Returns:
        the RemoteInvocationResult object
      Throws:
        `IOException` - if thrown by I/O operations
        `ClassNotFoundException` - if thrown during deserialization
        `Exception` - in case of general errors