## org.springframework.remoting.httpinvoker
Interface HttpInvokerRequestExecutor

All Known Implementing Classes:
  AbstractHttpInvokerRequestExecutor, CommonsHttpInvokerRequestExecutor, 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
`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