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:
java.util.EventListener, javax.resource.spi.work.WorkListener, Disposable, Initialisable, Lifecycle, LifecycleStateEnabled, Startable, Stoppable, 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 java.lang.String COOKIE_SPEC_NETSCAPE
           
static java.lang.String COOKIE_SPEC_RFC2109
           
static java.lang.String DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY
           
static java.lang.String HTTP
           
static java.lang.String HTTP_CONTEXT_PATH_PROPERTY
          The context path of the endpoint being accessed.
static java.lang.String HTTP_COOKIE_SPEC_PROPERTY
           
static java.lang.String HTTP_COOKIES_PROPERTY
           
static java.lang.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 java.lang.String HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK
           
static java.lang.String HTTP_ENABLE_COOKIES_PROPERTY
           
static java.lang.String HTTP_ENCODE_PARAMVALUE
           
static java.lang.String HTTP_GET_BODY_PARAM_PROPERTY
           
static java.util.Set<java.lang.String> HTTP_INBOUND_PROPERTIES
           
static java.lang.String HTTP_METHOD_PROPERTY
           
static java.lang.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 java.lang.String HTTP_POST_BODY_PARAM_PROPERTY
           
static java.lang.String HTTP_PREFIX
           
static java.lang.String HTTP_REQUEST_PATH_PROPERTY
          The path portion of the URL being accessed.
static java.lang.String HTTP_REQUEST_PROPERTY
          The path and query portions of the URL being accessed.
static java.lang.String HTTP_STATUS_PROPERTY
          MuleEvent property to pass back the status for the response
static java.lang.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, KEEP_SEND_SOCKET_OPEN_PROPERTY, SERVER, TCP
 
Fields inherited from class org.mule.transport.AbstractConnector
connected, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatcherPoolFactory, dispatchers, initialStateStopped, lifecycleManager, logger, muleContext, muleMessageFactory, name, numberOfConcurrentTransactedReceivers, 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()
           
 java.lang.String getCookieSpec()
           
 java.lang.String getProtocol()
           
 java.lang.String getProxyHostname()
           
 java.lang.String getProxyPassword()
           
 int getProxyPort()
           
 java.lang.String getProxyUsername()
           
protected  java.lang.Object getReceiverKey(FlowConstruct flowConstruct, InboundEndpoint endpoint)
          The method determines the key used to store the receiver against.
 java.util.Map getReceivers()
          Getter for property 'receivers'.
 boolean isEnableCookies()
           
static java.lang.String normalizeUrl(java.lang.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(java.lang.String cookieSpec)
           
 void setEnableCookies(boolean enableCookies)
           
 void setProxyHostname(java.lang.String host)
           
 void setProxyPassword(java.lang.String string)
           
 void setProxyPort(int port)
           
 void setProxyUsername(java.lang.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, getSocketSoLinger, getTcpProtocol, isKeepAlive, isKeepSendSocketOpen, isResponseEnabled, isReuseAddress, isSendTcpNoDelay, setBacklog, setBufferSize, setClientSoTimeout, setDispatcherFactory, setKeepAlive, setKeepAliveTimeout, setKeepSendSocketOpen, setReceiveBacklog, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSendTcpNoDelay, setServerSocketFactory, setServerSoTimeout, setSocketFactory, setSocketSoLinger, setTcpProtocol, setTimeout
 
Methods inherited from class org.mule.transport.AbstractConnector
clearDispatchers, clearRequesters, configureDispatcherPool, connect, createDispatcherMessageProcessor, createMuleMessageFactory, createReceiver, createScheduler, destroyReceiver, disconnect, dispose, disposeReceivers, disposeWorkManagers, doUnregisterListener, exceptionThrown, fireNotification, getConnectEventId, getConnectionDescription, getDefaultExchangePattern, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherPoolFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getInboundExchangePatterns, getLifecycleState, getMaxDispatchersActive, getMaxRequestersActive, getMaxTotalDispatchers, getMuleContext, getMuleMessageFactory, getName, getNumberOfConcurrentTransactedReceivers, getOutboundExchangePatterns, getOutputStream, getReceiver, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isInitialised, isInitialStateStopped, isStarted, isStopped, isValidateConnections, lookupReceiver, registerSupportedMetaProtocol, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, setConnected, 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 java.lang.String HTTP
See Also:
Constant Field Values

HTTP_PREFIX

public static final java.lang.String HTTP_PREFIX
See Also:
Constant Field Values

HTTP_STATUS_PROPERTY

public static final java.lang.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 java.lang.String HTTP_VERSION_PROPERTY
See Also:
Constant Field Values

HTTP_CUSTOM_HEADERS_MAP_PROPERTY

@Deprecated
public static final java.lang.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_METHOD_PROPERTY

public static final java.lang.String HTTP_METHOD_PROPERTY
See Also:
Constant Field Values

HTTP_REQUEST_PROPERTY

public static final java.lang.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 java.lang.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 java.lang.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_PARAMS_PROPERTY

public static final java.lang.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 java.lang.String HTTP_GET_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY

public static final java.lang.String DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

HTTP_POST_BODY_PARAM_PROPERTY

public static final java.lang.String HTTP_POST_BODY_PARAM_PROPERTY
See Also:
Constant Field Values

HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK

public static final java.lang.String HTTP_DISABLE_STATUS_CODE_EXCEPTION_CHECK
See Also:
Constant Field Values

HTTP_ENCODE_PARAMVALUE

public static final java.lang.String HTTP_ENCODE_PARAMVALUE
See Also:
Constant Field Values

HTTP_INBOUND_PROPERTIES

public static final java.util.Set<java.lang.String> HTTP_INBOUND_PROPERTIES

HTTP_COOKIE_SPEC_PROPERTY

public static final java.lang.String HTTP_COOKIE_SPEC_PROPERTY
See Also:
Constant Field Values

HTTP_COOKIES_PROPERTY

public static final java.lang.String HTTP_COOKIES_PROPERTY
See Also:
Constant Field Values

HTTP_ENABLE_COOKIES_PROPERTY

public static final java.lang.String HTTP_ENABLE_COOKIES_PROPERTY
See Also:
Constant Field Values

COOKIE_SPEC_NETSCAPE

public static final java.lang.String COOKIE_SPEC_NETSCAPE
See Also:
Constant Field Values

COOKIE_SPEC_RFC2109

public static final java.lang.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 java.lang.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.
Throws:
java.lang.Exception

getReceiverKey

protected java.lang.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 java.lang.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 java.lang.String getProxyHostname()

getProxyPassword

public java.lang.String getProxyPassword()

getProxyPort

public int getProxyPort()

getProxyUsername

public java.lang.String getProxyUsername()

setProxyHostname

public void setProxyHostname(java.lang.String host)

setProxyPassword

public void setProxyPassword(java.lang.String string)

setProxyPort

public void setProxyPort(int port)

setProxyUsername

public void setProxyUsername(java.lang.String string)

getReceivers

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

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

getCookieSpec

public java.lang.String getCookieSpec()

setCookieSpec

public void setCookieSpec(java.lang.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 java.lang.Exception
Throws:
java.lang.Exception

setupClientAuthorization

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

normalizeUrl

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



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