org.mule.transport.http
Class HttpConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.tcp.TcpConnector
          extended by org.mule.transport.http.HttpConnector
All Implemented Interfaces:
EventListener, javax.resource.spi.work.WorkListener, Disposable, Initialisable, Lifecycle, LifecycleStateEnabled, Startable, Stoppable, NameableObject, NamedObject, Connectable, Connector
Direct Known Subclasses:
HttpPollingConnector, HttpsConnector

public class HttpConnector
extends TcpConnector

HttpConnector provides a way of receiving and sending http requests and responses. The Connector itself handles dispatching http requests. The HttpMessageReceiver handles the receiving requests and processing of headers This endpoint recognises the following properties -


Field Summary
protected  HttpConnectionManager clientConnectionManager
           
static String COOKIE_SPEC_NETSCAPE
           
static String COOKIE_SPEC_RFC2109
           
static String DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY
           
static String HTTP
           
static String HTTP_CONTEXT_PATH_PROPERTY
          The context path of the endpoint being accessed.
static String HTTP_CONTEXT_URI_PROPERTY
          The context URI of the endpoint being accessed.
static String HTTP_COOKIE_SPEC_PROPERTY
           
static String HTTP_COOKIES_PROPERTY
           
static String HTTP_CUSTOM_HEADERS_MAP_PROPERTY
          Deprecated. Instead users can now add properties to the outgoing request using the OUTBOUND property scope on the message.
static String HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK
           
static String HTTP_ENABLE_COOKIES_PROPERTY
           
static String HTTP_ENCODE_PARAMVALUE
           
static String HTTP_GET_BODY_PARAM_PROPERTY
           
static String HTTP_HEADERS
          Encapsulates all the HTTP headers
static Set<String> HTTP_INBOUND_PROPERTIES
           
static String HTTP_METHOD_PROPERTY
           
static String HTTP_PARAMS_PROPERTY
          Allows the user to set a HttpMethodParams object in the client request to be set on the HttpMethod request object
static String HTTP_POST_BODY_PARAM_PROPERTY
           
static String HTTP_PREFIX
           
static String HTTP_QUERY_PARAMS
          Stores the HTTP query parameters received, supports multiple values per key and both query parameter key and value are unescaped
static String HTTP_QUERY_STRING
           
static String HTTP_RELATIVE_PATH_PROPERTY
          The relative path of the URI being accessed in relation to the context path
static String HTTP_REQUEST_PATH_PROPERTY
          The path portion of the URL being accessed.
static String HTTP_REQUEST_PROPERTY
          The path and query portions of the URL being accessed.
static String HTTP_SERVLET_REQUEST_PROPERTY
           
static String HTTP_SERVLET_RESPONSE_PROPERTY
           
static String HTTP_STATUS_PROPERTY
          MuleEvent property to pass back the status for the response
static String HTTP_VERSION_PROPERTY
           
 
Fields inherited from class org.mule.transport.tcp.TcpConnector
CLIENT, DEFAULT_BACKLOG, DEFAULT_BUFFER_SIZE, DEFAULT_SO_LINGER, DEFAULT_SOCKET_TIMEOUT, DEFAULT_WAIT_TIMEOUT, KEEP_SEND_SOCKET_OPEN_PROPERTY, SERVER, TCP
 
Fields inherited from class org.mule.transport.AbstractConnector
createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatcherPoolFactory, dispatchers, initialStateStopped, lifecycleManager, logger, muleContext, muleMessageFactory, name, numberOfConcurrentTransactedReceivers, PROPERTY_POLLING_FREQUENCY, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
HttpConnector(MuleContext context)
           
 
Method Summary
protected  HttpClient doClientConnect()
           
protected  void doInitialise()
           
 HttpConnectionManager getClientConnectionManager()
           
 String getCookieSpec()
           
 String getProtocol()
           
 String getProxyHostname()
           
 String getProxyPassword()
           
 int getProxyPort()
           
 String getProxyUsername()
           
protected  Object getReceiverKey(FlowConstruct flowConstruct, InboundEndpoint endpoint)
          The method determines the key used to store the receiver against.
 Map getReceivers()
          Getter for property 'receivers'.
 boolean isEnableCookies()
           
 boolean isProxyNtlmAuthentication()
           
static String normalizeUrl(String url)
          Ensures that the supplied URL starts with a '/'.
 void registerListener(InboundEndpoint endpoint, MessageProcessor listener, FlowConstruct flowConstruct)
          Registers a MessageProcessor listener which will listen to new message received from a specific transport channel and then processed by the endpoint.
 void setClientConnectionManager(HttpConnectionManager clientConnectionManager)
           
 void setCookieSpec(String cookieSpec)
           
 void setEnableCookies(boolean enableCookies)
           
 void setProxyHostname(String host)
           
 void setProxyNtlmAuthentication(boolean proxyNtlmAuthentication)
           
 void setProxyPassword(String string)
           
 void setProxyPort(int port)
           
 void setProxyUsername(String string)
           
protected  void setupClientAuthorization(MuleEvent event, HttpMethod httpMethod, HttpClient client, ImmutableEndpoint endpoint)
           
 
Methods inherited from class org.mule.transport.tcp.TcpConnector
configureSocket, doConnect, doDisconnect, doDispose, doStart, doStop, getBacklog, getBufferSize, getClientSoTimeout, getDispatchers, getKeepAliveMonitor, getKeepAliveTimeout, getOutputStream, getReceiveBacklog, getReceiveBufferSize, getSendBufferSize, getServerSocket, getServerSocketFactory, getServerSoTimeout, getSocket, getSocketFactory, getSocketMaxWait, getSocketSoLinger, getSocketsPoolMaxActive, getSocketsPoolMaxIdle, getSocketsPoolMaxWait, getSocketsPoolNumActive, getTcpProtocol, isKeepAlive, isKeepSendSocketOpen, isResponseEnabled, isReuseAddress, isSendTcpNoDelay, setBacklog, setBufferSize, setClientSoTimeout, setDispatcherFactory, setKeepAlive, setKeepAliveTimeout, setKeepSendSocketOpen, setReceiveBacklog, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSendTcpNoDelay, setServerSocketFactory, setServerSoTimeout, setSocketFactory, setSocketMaxWait, setSocketSoLinger, setTcpProtocol, setTimeout
 
Methods inherited from class org.mule.transport.AbstractConnector
clearDispatchers, clearRequesters, configureDispatcherPool, connect, createDefaultRedeliveryPolicy, createDispatcherMessageProcessor, createMuleMessageFactory, createOperationResource, createReceiver, createScheduler, destroyReceiver, disconnect, dispose, disposeReceivers, disposeWorkManagers, doUnregisterListener, fireNotification, getConnectEventId, getConnectionDescription, getDefaultExchangePattern, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherPoolFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getInboundExchangePatterns, getLifecycleState, getMaxDispatchersActive, getMaxRequestersActive, getMaxTotalDispatchers, getMuleContext, getMuleMessageFactory, getName, getNumberOfConcurrentTransactedReceivers, getOperationResourceFactory, getOutboundExchangePatterns, getOutputStream, getReceiver, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, getTransactionalResource, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isConnecting, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isInitialised, isInitialStateStopped, isStarted, isStarting, isStopped, isStopping, isValidateConnections, lookupReceiver, registerSupportedMetaProtocol, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, setConnected, setConnecting, setCreateMultipleTransactedReceivers, setDispatcherPoolFactory, setDispatcherPoolMaxWait, setDispatcherPoolWhenExhaustedAction, setDispatcherThreadingProfile, setDynamicNotification, setInitialStateStopped, setMaxDispatchersActive, setMaxRequestersActive, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterPoolMaxWait, setRequesterPoolWhenExhaustedAction, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, shutdownScheduler, start, startAfterConnect, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HTTP

public static final String HTTP
See Also:
Constant Field Values

HTTP_PREFIX

public static final String HTTP_PREFIX
See Also:
Constant Field Values

HTTP_STATUS_PROPERTY

public static final String HTTP_STATUS_PROPERTY
MuleEvent property to pass back the status for the response

See Also:
Constant Field Values

HTTP_VERSION_PROPERTY

public static final String HTTP_VERSION_PROPERTY
See Also:
Constant Field Values

HTTP_CUSTOM_HEADERS_MAP_PROPERTY

@Deprecated
public static final String HTTP_CUSTOM_HEADERS_MAP_PROPERTY
Deprecated. Instead users can now add properties to the outgoing request using the OUTBOUND property scope on the message.
See Also:
Constant Field Values

HTTP_HEADERS

public static final String HTTP_HEADERS
Encapsulates all the HTTP headers

See Also:
Constant Field Values

HTTP_QUERY_PARAMS

public static final String HTTP_QUERY_PARAMS
Stores the HTTP query parameters received, supports multiple values per key and both query parameter key and value are unescaped

See Also:
Constant Field Values

HTTP_QUERY_STRING

public static final String HTTP_QUERY_STRING
See Also:
Constant Field Values

HTTP_METHOD_PROPERTY

public static final String HTTP_METHOD_PROPERTY
See Also:
Constant Field Values

HTTP_REQUEST_PROPERTY

public static final String HTTP_REQUEST_PROPERTY
The path and query portions of the URL being accessed.

See Also:
Constant Field Values

HTTP_REQUEST_PATH_PROPERTY

public static final String HTTP_REQUEST_PATH_PROPERTY
The path portion of the URL being accessed. No query string is included.

See Also:
Constant Field Values

HTTP_CONTEXT_PATH_PROPERTY

public static final String HTTP_CONTEXT_PATH_PROPERTY
The context path of the endpoint being accessed. This is the path that the HTTP endpoint is listening on.

See Also:
Constant Field Values

HTTP_CONTEXT_URI_PROPERTY

public static final String HTTP_CONTEXT_URI_PROPERTY
The context URI of the endpoint being accessed. This is the address that the HTTP endpoint is listening on. It includes: [scheme]://[host]:[port][http.context.path]

See Also:
Constant Field Values

HTTP_RELATIVE_PATH_PROPERTY

public static final String HTTP_RELATIVE_PATH_PROPERTY
The relative path of the URI being accessed in relation to the context path

See Also:
Constant Field Values

HTTP_SERVLET_REQUEST_PROPERTY

public static final String HTTP_SERVLET_REQUEST_PROPERTY
See Also:
Constant Field Values

HTTP_SERVLET_RESPONSE_PROPERTY

public static final String HTTP_SERVLET_RESPONSE_PROPERTY
See Also:
Constant Field Values

HTTP_PARAMS_PROPERTY

public static final String HTTP_PARAMS_PROPERTY
Allows the user to set a HttpMethodParams object in the client request to be set on the HttpMethod request object

See Also:
Constant Field Values

HTTP_GET_BODY_PARAM_PROPERTY

public static final String HTTP_GET_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY

public static final String DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

HTTP_POST_BODY_PARAM_PROPERTY

public static final String HTTP_POST_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK

public static final String HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK
See Also:
Constant Field Values

HTTP_ENCODE_PARAMVALUE

public static final String HTTP_ENCODE_PARAMVALUE
See Also:
Constant Field Values

HTTP_INBOUND_PROPERTIES

public static final Set<String> HTTP_INBOUND_PROPERTIES

HTTP_COOKIE_SPEC_PROPERTY

public static final String HTTP_COOKIE_SPEC_PROPERTY
See Also:
Constant Field Values

HTTP_COOKIES_PROPERTY

public static final String HTTP_COOKIES_PROPERTY
See Also:
Constant Field Values

HTTP_ENABLE_COOKIES_PROPERTY

public static final String HTTP_ENABLE_COOKIES_PROPERTY
See Also:
Constant Field Values

COOKIE_SPEC_NETSCAPE

public static final String COOKIE_SPEC_NETSCAPE
See Also:
Constant Field Values

COOKIE_SPEC_RFC2109

public static final String COOKIE_SPEC_RFC2109
See Also:
Constant Field Values

clientConnectionManager

protected HttpConnectionManager clientConnectionManager
Constructor Detail

HttpConnector

public HttpConnector(MuleContext context)
Method Detail

doInitialise

protected void doInitialise()
                     throws InitialisationException
Overrides:
doInitialise in class TcpConnector
Throws:
InitialisationException

registerListener

public void registerListener(InboundEndpoint endpoint,
                             MessageProcessor listener,
                             FlowConstruct flowConstruct)
                      throws Exception
Description copied from interface: Connector
Registers a MessageProcessor listener which will listen to new message received from a specific transport channel and then processed by the endpoint. Only a single listener can be registered for a given endpoints. Attempts to register a listener when one is already registered will fail.

Specified by:
registerListener in interface Connector
Overrides:
registerListener in class AbstractConnector
Parameters:
endpoint - defines both the transport and channel/resource uri as well the processing (transformation/filtering) that should occur when the endpoint processes a new message from the transport receiver.
listener - the listener that will be invoked when messages are received on the endpoint.
flowConstruct - reference to the flow construct that the listener is part of for use as context for logging, notifications and error handling.
Throws:
Exception

getReceiverKey

protected Object getReceiverKey(FlowConstruct flowConstruct,
                                InboundEndpoint endpoint)
The method determines the key used to store the receiver against.

Overrides:
getReceiverKey in class AbstractConnector
Parameters:
endpoint - the endpoint being registered for the service
flowConstruct - the service for which the endpoint is being registered
Returns:
the key to store the newly created receiver against

getProtocol

public String getProtocol()
Specified by:
getProtocol in interface Connector
Overrides:
getProtocol in class TcpConnector
Returns:
the primary protocol name for endpoints of this connector
See Also:
Connector.getProtocol()

getProxyHostname

public String getProxyHostname()

getProxyPassword

public String getProxyPassword()

getProxyPort

public int getProxyPort()

getProxyUsername

public String getProxyUsername()

setProxyHostname

public void setProxyHostname(String host)

setProxyPassword

public void setProxyPassword(String string)

setProxyPort

public void setProxyPort(int port)

setProxyUsername

public void setProxyUsername(String string)

getReceivers

public Map getReceivers()
Description copied from class: AbstractConnector
Getter for property 'receivers'.

Overrides:
getReceivers in class AbstractConnector
Returns:
Value for property 'receivers'.

getCookieSpec

public String getCookieSpec()

setCookieSpec

public void setCookieSpec(String cookieSpec)

isEnableCookies

public boolean isEnableCookies()

setEnableCookies

public void setEnableCookies(boolean enableCookies)

getClientConnectionManager

public HttpConnectionManager getClientConnectionManager()

setClientConnectionManager

public void setClientConnectionManager(HttpConnectionManager clientConnectionManager)

doClientConnect

protected HttpClient doClientConnect()
                              throws Exception
Throws:
Exception

setupClientAuthorization

protected void setupClientAuthorization(MuleEvent event,
                                        HttpMethod httpMethod,
                                        HttpClient client,
                                        ImmutableEndpoint endpoint)
                                 throws UnsupportedEncodingException
Throws:
UnsupportedEncodingException

normalizeUrl

public static String normalizeUrl(String url)
Ensures that the supplied URL starts with a '/'.


isProxyNtlmAuthentication

public boolean isProxyNtlmAuthentication()

setProxyNtlmAuthentication

public void setProxyNtlmAuthentication(boolean proxyNtlmAuthentication)


Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.