com.metamatrix.connector.xml.soap
Class CommonsHTTPSender

java.lang.Object
  extended by org.apache.axis.handlers.BasicHandler
      extended by com.metamatrix.connector.xml.soap.CommonsHTTPSender
All Implemented Interfaces:
java.io.Serializable, org.apache.axis.Handler
Direct Known Subclasses:
FilteringHTTPSender

public class CommonsHTTPSender
extends org.apache.axis.handlers.BasicHandler

This class uses Jakarta Commons's HttpClient to call a SOAP server.

Author:
Davanum Srinivas (dims@yahoo.com) History: By Chandra Talluri Modifications done for maintaining sessions. Cookies needed to be set on HttpState not on MessageContext, since ttpMethodBase overwrites the cookies from HttpState. Also we need to setCookiePolicy on HttpState to CookiePolicy.COMPATIBILITY else it is defaulting to RFC2109Spec and adding Version information to it and tomcat server not recognizing it
See Also:
Serialized Form

Field Summary
protected  org.apache.axis.components.net.CommonsHTTPClientProperties clientProperties
           
protected  org.apache.commons.httpclient.HttpConnectionManager connectionManager
           
protected static org.apache.commons.logging.Log log
          Field log
 
Fields inherited from class org.apache.axis.handlers.BasicHandler
makeLockable, name, options
 
Constructor Summary
CommonsHTTPSender()
           
 
Method Summary
 java.io.InputStream createStreamFilters(org.apache.commons.httpclient.HttpMethodBase method)
           
protected  org.apache.commons.httpclient.HostConfiguration getHostConfiguration(org.apache.commons.httpclient.HttpClient client, org.apache.axis.MessageContext context, java.net.URL targetURL)
           
 void handleCookie(java.lang.String cookieName, java.lang.String cookie, org.apache.axis.MessageContext msgContext)
          little helper function for cookies.
protected  void initialize()
           
 void invoke(org.apache.axis.MessageContext msgContext)
          invoke creates a socket connection, sends the request SOAP message and then reads the response SOAP message back from the SOAP server
protected  boolean isHostInNonProxyList(java.lang.String host, java.lang.String nonProxyHosts)
          Check if the specified host is in the list of non proxy hosts.
protected static boolean match(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
          Matches a string against a pattern.
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
canHandleBlock, cleanup, generateWSDL, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, initHashtable, onFault, setName, setOption, setOptionDefault, setOptions, setOptionsLockable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log
Field log


connectionManager

protected org.apache.commons.httpclient.HttpConnectionManager connectionManager

clientProperties

protected org.apache.axis.components.net.CommonsHTTPClientProperties clientProperties
Constructor Detail

CommonsHTTPSender

public CommonsHTTPSender()
Method Detail

initialize

protected void initialize()

invoke

public void invoke(org.apache.axis.MessageContext msgContext)
            throws org.apache.axis.AxisFault
invoke creates a socket connection, sends the request SOAP message and then reads the response SOAP message back from the SOAP server

Parameters:
msgContext - the messsage context
Throws:
org.apache.axis.AxisFault

handleCookie

public void handleCookie(java.lang.String cookieName,
                         java.lang.String cookie,
                         org.apache.axis.MessageContext msgContext)
little helper function for cookies. fills up the message context with a string or an array of strings (if there are more than one Set-Cookie)

Parameters:
cookieName -
setCookieName -
cookie -
msgContext -

getHostConfiguration

protected org.apache.commons.httpclient.HostConfiguration getHostConfiguration(org.apache.commons.httpclient.HttpClient client,
                                                                               org.apache.axis.MessageContext context,
                                                                               java.net.URL targetURL)

isHostInNonProxyList

protected boolean isHostInNonProxyList(java.lang.String host,
                                       java.lang.String nonProxyHosts)
Check if the specified host is in the list of non proxy hosts.

Parameters:
host - host name
nonProxyHosts - string containing the list of non proxy hosts
Returns:
true/false

match

protected static boolean match(java.lang.String pattern,
                               java.lang.String str,
                               boolean isCaseSensitive)
Matches a string against a pattern. The pattern contains two special characters: '*' which means zero or more characters,

Parameters:
pattern - the (non-null) pattern to match against
str - the (non-null) string that must be matched against the pattern
isCaseSensitive -
Returns:
true when the string matches against the pattern, false otherwise.

createStreamFilters

public java.io.InputStream createStreamFilters(org.apache.commons.httpclient.HttpMethodBase method)
                                        throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 2009. All Rights Reserved.