org.kuali.rice.ksb.messaging
Class KSBHttpInvokerRequestExecutor

java.lang.Object
  extended by org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor
      extended by org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor
          extended by org.kuali.rice.ksb.messaging.KSBHttpInvokerRequestExecutor
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.remoting.httpinvoker.HttpInvokerRequestExecutor
Direct Known Subclasses:
AuthenticationCommonsHttpInvokerRequestExecutor

public class KSBHttpInvokerRequestExecutor
extends org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor

At HttpInvokerRequestExecutor which is capable of digitally signing and verifying messages. It's capabilities to execute the signing and verification can be turned on or off via an application constant.

Author:
Kuali Rice Team (rice.collab@kuali.org)

Field Summary
 
Fields inherited from class org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor
CONTENT_TYPE_SERIALIZED_OBJECT, ENCODING_GZIP, HTTP_HEADER_ACCEPT_ENCODING, HTTP_HEADER_ACCEPT_LANGUAGE, HTTP_HEADER_CONTENT_ENCODING, HTTP_HEADER_CONTENT_LENGTH, HTTP_HEADER_CONTENT_TYPE, HTTP_METHOD_POST, logger
 
Constructor Summary
KSBHttpInvokerRequestExecutor()
           
KSBHttpInvokerRequestExecutor(Boolean secure)
           
KSBHttpInvokerRequestExecutor(org.apache.commons.httpclient.HttpClient httpClient)
           
 
Method Summary
protected  DigitalSignatureService getDigitalSignatureService()
           
protected  JavaSecurityManagementService getJavaSecurityManagementService()
           
protected  InputStream getResponseBody(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config, org.apache.commons.httpclient.methods.PostMethod postMethod)
          Returns a wrapped InputStream which is responsible for verifying the digital signature on the response after all data has been read.
 Boolean getSecure()
           
protected  boolean isSecure()
           
protected  void setRequestBody(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config, org.apache.commons.httpclient.methods.PostMethod postMethod, ByteArrayOutputStream baos)
          Signs the outgoing request by generating a digital signature from the bytes in the ByteArrayOutputStream and attaching the signature and our alias to the headers of the PostMethod.
 void setSecure(Boolean secure)
           
protected  void signRequest(org.apache.commons.httpclient.methods.PostMethod postMethod, ByteArrayOutputStream baos)
          Signs the request by adding headers to the PostMethod.
protected  void validateResponse(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config, org.apache.commons.httpclient.methods.PostMethod postMethod)
           
 
Methods inherited from class org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor
createPostMethod, doExecuteRequest, executePostMethod, getHttpClient, isGzipResponse, setConnectTimeout, setHttpClient, setReadTimeout
 
Methods inherited from class org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor
createObjectInputStream, decorateInputStream, decorateOutputStream, doReadRemoteInvocationResult, doWriteRemoteInvocation, executeRequest, getBeanClassLoader, getByteArrayOutputStream, getContentType, isAcceptGzipEncoding, readRemoteInvocationResult, setAcceptGzipEncoding, setBeanClassLoader, setContentType, writeRemoteInvocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KSBHttpInvokerRequestExecutor

public KSBHttpInvokerRequestExecutor()

KSBHttpInvokerRequestExecutor

public KSBHttpInvokerRequestExecutor(Boolean secure)

KSBHttpInvokerRequestExecutor

public KSBHttpInvokerRequestExecutor(org.apache.commons.httpclient.HttpClient httpClient)
Method Detail

setRequestBody

protected void setRequestBody(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config,
                              org.apache.commons.httpclient.methods.PostMethod postMethod,
                              ByteArrayOutputStream baos)
                       throws IOException
Signs the outgoing request by generating a digital signature from the bytes in the ByteArrayOutputStream and attaching the signature and our alias to the headers of the PostMethod.

Overrides:
setRequestBody in class org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor
Throws:
IOException

getResponseBody

protected InputStream getResponseBody(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config,
                                      org.apache.commons.httpclient.methods.PostMethod postMethod)
                               throws IOException
Returns a wrapped InputStream which is responsible for verifying the digital signature on the response after all data has been read.

Overrides:
getResponseBody in class org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor
Throws:
IOException

validateResponse

protected void validateResponse(org.springframework.remoting.httpinvoker.HttpInvokerClientConfiguration config,
                                org.apache.commons.httpclient.methods.PostMethod postMethod)
                         throws IOException
Overrides:
validateResponse in class org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor
Throws:
IOException

signRequest

protected void signRequest(org.apache.commons.httpclient.methods.PostMethod postMethod,
                           ByteArrayOutputStream baos)
                    throws Exception
Signs the request by adding headers to the PostMethod.

Throws:
Exception

isSecure

protected boolean isSecure()

getSecure

public Boolean getSecure()

setSecure

public void setSecure(Boolean secure)

getDigitalSignatureService

protected DigitalSignatureService getDigitalSignatureService()

getJavaSecurityManagementService

protected JavaSecurityManagementService getJavaSecurityManagementService()


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.