com.infoengine.webject.msg
Class DefaultSOAPDocumentHandler

java.lang.Object
  extended bycom.infoengine.webject.msg.DefaultSOAPMessageHandler
      extended bycom.infoengine.webject.msg.DefaultSOAPDocumentHandler
All Implemented Interfaces:
SOAPMessageHandler

public class DefaultSOAPDocumentHandler
extends DefaultSOAPMessageHandler

SOAPMessageHandler that uses XSL to translate I*E to SOAP and SOAP to I*E.

 <ie:webject name="Call-SOAPService" type="MSG">
   <ie:param name="ENDPOINT" data="url"/<
   <ie:param name="DBUSER" data="username"/<
   <ie:param name="PASSWD" data="password"/<
   <ie:param name="SOAP_ACTION" data="operationName"/<
   <ie:param name="GROUP_IN" data="groupName"/<
   <ie:param name="GROUP_OUT" data="groupName"/<
   <ie:param name="XSL_URL" data="url"/<
   <ie:param name="XSL_RESPONSE_URL" data="url"/<
   <ie:param name="XSL_DBUSER" data="username"/<
   <ie:param name="XSL_PASSWD" data="passwd"/<
 </ie:webject<
 


Field Summary
private static String CONTENT_TYPE
           
protected static String DEFAULT_GROUPOUT
           
protected static String PARM_ENDPOINT
           
protected static String PARM_SOAP_ACTION
           
protected static String PARM_XML_URL
           
protected static String PARM_XSL_DBUSER
           
protected static String PARM_XSL_PASSWD
           
protected static String PARM_XSL_RESPONSE_URL
           
protected static String PARM_XSL_URL
           
 
Fields inherited from class com.infoengine.webject.msg.DefaultSOAPMessageHandler
endpoint, META_ISARRAY, operation, PARM_AUTHORIZATION, PARM_DBUSER, PARM_GROUPIN, PARM_GROUPOUT, PARM_OPERATION, PARM_PARAM, PARM_PASSWORD, PARM_PORT, PARM_SERVICE, PARM_WSDL, RESOURCE, task, VALIDATE_OUT, w, WEBJECT
 
Constructor Summary
DefaultSOAPDocumentHandler()
          Creates a new SOAPMessageHandler that uses XSL to translate SOAP to I*E and I*E to SOAP.
 
Method Summary
private  Webject conditionXslWebject(String xsl_url, String name, String type)
          Creates and conditions a new SAK webject that does XSL stuff.
 javax.xml.soap.SOAPMessage generateRequest(Task task)
          Turns an Info*Engine Group into a SOAPRequest using XSL
private  Task groupResponse(javax.xml.soap.SOAPMessage response)
          Turns a SOAP response into a nested I*E group.
 Task processResponse(javax.xml.soap.SOAPMessage response)
          Turns a SOAP response object back into an Info*Engine Group.
private  Task xslResponse(String xsl_response_url, javax.xml.soap.SOAPMessage response)
          Combines a SOAP response with an XSL template to create an I*E group.
 
Methods inherited from class com.infoengine.webject.msg.DefaultSOAPMessageHandler
addRequestElement, buildRequestFromGroup, buildResponseGroup, buildUnvalidatedResponseGroup, buildValidatedResponseGroup, createIEElement, createUnvalidatedElement, firstSOAPElement, followHref, getURLEndpoint, getValue, hasSubElements, isArray, nextSOAPElement, recastObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARM_ENDPOINT

protected static final String PARM_ENDPOINT
See Also:
Constant Field Values

PARM_SOAP_ACTION

protected static final String PARM_SOAP_ACTION
See Also:
Constant Field Values

PARM_XSL_URL

protected static final String PARM_XSL_URL
See Also:
Constant Field Values

PARM_XSL_RESPONSE_URL

protected static final String PARM_XSL_RESPONSE_URL
See Also:
Constant Field Values

PARM_XSL_DBUSER

protected static final String PARM_XSL_DBUSER
See Also:
Constant Field Values

PARM_XSL_PASSWD

protected static final String PARM_XSL_PASSWD
See Also:
Constant Field Values

PARM_XML_URL

protected static final String PARM_XML_URL
See Also:
Constant Field Values

DEFAULT_GROUPOUT

protected static final String DEFAULT_GROUPOUT
See Also:
Constant Field Values

CONTENT_TYPE

private static final String CONTENT_TYPE
See Also:
Constant Field Values
Constructor Detail

DefaultSOAPDocumentHandler

public DefaultSOAPDocumentHandler()
Creates a new SOAPMessageHandler that uses XSL to translate SOAP to I*E and I*E to SOAP.

Method Detail

generateRequest

public javax.xml.soap.SOAPMessage generateRequest(Task task)
                                           throws Exception
Turns an Info*Engine Group into a SOAPRequest using XSL

Specified by:
generateRequest in interface SOAPMessageHandler
Overrides:
generateRequest in class DefaultSOAPMessageHandler
Parameters:
task - The task request object (webject, vdb, etc.).
Returns:
The SOAP request.
Throws:
Exception

processResponse

public Task processResponse(javax.xml.soap.SOAPMessage response)
                     throws Exception
Turns a SOAP response object back into an Info*Engine Group. This may be done via XSL or by translating the response element into a nested Group.

Specified by:
processResponse in interface SOAPMessageHandler
Overrides:
processResponse in class DefaultSOAPMessageHandler
Parameters:
response - The SOAP response message.
Returns:
The I*E task response object containing the response data.
Throws:
Exception - If there is a SOAP fault or an error during des11n.

groupResponse

private Task groupResponse(javax.xml.soap.SOAPMessage response)
                    throws Exception
Turns a SOAP response into a nested I*E group. Simply delegates to the parent class.

Parameters:
response - The SOAP response.
Throws:
Exception

xslResponse

private Task xslResponse(String xsl_response_url,
                         javax.xml.soap.SOAPMessage response)
                  throws Exception
Combines a SOAP response with an XSL template to create an I*E group.

Parameters:
xsl_response_url - The location of the XSL template used to translate the SOAP response into an I*E group.
response - The SOAP response object.
Throws:
Exception

conditionXslWebject

private Webject conditionXslWebject(String xsl_url,
                                    String name,
                                    String type)
                             throws Exception
Creates and conditions a new SAK webject that does XSL stuff.

Parameters:
xsl_url - The location of the XSL template that will be processed.
name - The name of the webject.
type - The type of the webject.
Throws:
Exception