<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_22) on Thu Apr 26 14:22:13 IST 2012 -->
<TITLE>
OutflowConfiguration (Apache Rampart API)
</TITLE>

<META NAME="date" CONTENT="2012-04-26">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="OutflowConfiguration (Apache Rampart API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OutflowConfiguration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/rampart/handler/config/InflowConfiguration.html" title="class in org.apache.rampart.handler.config"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/rampart/handler/config/OutflowConfiguration.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OutflowConfiguration.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.rampart.handler.config</FONT>
<BR>
Class OutflowConfiguration</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.rampart.handler.config.OutflowConfiguration</B>
</PRE>
<HR>
<B>Deprecated.</B>
<P>
<DL>
<DT><PRE>public class <B>OutflowConfiguration</B><DT>extends java.lang.Object</DL>
</PRE>

<P>
This is the representation of the outflow configurations of the security
 module.
<P>

<P>
<HR>

<P>

<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#OutflowConfiguration()">OutflowConfiguration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Creates a default outflow configuration instance with an action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#OutflowConfiguration(int)">OutflowConfiguration</A></B>(int&nbsp;actionCount)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Creates a new outflow configuration instance with the given number of
 actions.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getActionItems()">getActionItems</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the action items.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getAddUTElements()">getAddUTElements</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the additional elements to be added to the username token element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getBSPCompliant()">getBSPCompliant</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Gets whether security processing is configured to handle BSP compliant manner.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEmbeddedKeyCallbackClass()">getEmbeddedKeyCallbackClass</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the embedded key callback class of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEmbeddedKeyName()">getEmbeddedKeyName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the text of the key name that needs to be sent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEnableSignatureConfirmation()">getEnableSignatureConfirmation</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns whether signature confirmation should be enabled or not</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionKeyIdentifier()">getEncryptionKeyIdentifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encrypted key identifier of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionKeyTransportAlgorithm()">getEncryptionKeyTransportAlgorithm</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encryption key transport algorithm of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionParts()">getEncryptionParts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encryption parts of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionPropFile()">getEncryptionPropFile</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encryption property file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionSymAlgorithm()">getEncryptionSymAlgorithm</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encryption symmetric algorithm of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getEncryptionUser()">getEncryptionUser</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the encryption user of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getOptimizeParts()">getOptimizeParts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the Path expression to selecte the elements with content of the
 current action to be MTOM optimized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getPasswordCallbackClass()">getPasswordCallbackClass</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the name of the password callback class of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getPasswordType()">getPasswordType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the password type of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getPrecisionInMilliseconds()">getPrecisionInMilliseconds</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns whether PrecisionInMilliseconds is enabled or not</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getPreserveOriginalEnvelope()">getPreserveOriginalEnvelope</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns whether signature confirmation should be enabled or not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.axis2.description.Parameter</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getProperty()">getProperty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the configuration as an Parameter</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getSamlPropFile()">getSamlPropFile</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the SAML property file of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getSignatureAlgorithm()">getSignatureAlgorithm</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getSignatureKeyIdentifier()">getSignatureKeyIdentifier</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the signatue key identifier of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getSignatureParts()">getSignatureParts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the signature parts of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getSignaturePropFile()">getSignaturePropFile</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the signature property file of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#getUser()">getUser</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Returns the user of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#nextAction()">nextAction</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Moves to the next action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#previousAction()">previousAction</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Moves to previous action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setActionItems(java.lang.String)">setActionItems</A></B>(java.lang.String&nbsp;actionItems)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the action items.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setAddUTElements(java.lang.String)">setAddUTElements</A></B>(java.lang.String&nbsp;addUTElements)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Option to add additional elements in the username token element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setBSPCompliant(boolean)">setBSPCompliant</A></B>(boolean&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;This will set whether request or response evaluation should adhere to "Basic Security Profile"</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEmbeddedKeyCallbackClass(java.lang.String)">setEmbeddedKeyCallbackClass</A></B>(java.lang.String&nbsp;embeddedKeyCallbackClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the embedded key callback class of the current action</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEmbeddedKeyName(java.lang.String)">setEmbeddedKeyName</A></B>(java.lang.String&nbsp;embeddedKeyName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the text of the key name that needs to be sent.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEnableSignatureConfirmation(boolean)">setEnableSignatureConfirmation</A></B>(boolean&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets whether signature confirmation should be enabled or not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptBody()">setEncryptBody</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionKeyIdentifier(java.lang.String)">setEncryptionKeyIdentifier</A></B>(java.lang.String&nbsp;encryptionKeyIdentifier)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encrypted key identifier of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionKeyTransportAlgorithm(java.lang.String)">setEncryptionKeyTransportAlgorithm</A></B>(java.lang.String&nbsp;encryptionKeyTransportAlgorithm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption key transport algorithm of the current action</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionParts(java.lang.String)">setEncryptionParts</A></B>(java.lang.String&nbsp;encryptionParts)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption parts of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionPropFile(java.lang.String)">setEncryptionPropFile</A></B>(java.lang.String&nbsp;encPropFile)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption property file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionPropRefId(java.lang.String)">setEncryptionPropRefId</A></B>(java.lang.String&nbsp;encryptionPropRefId)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption property ref key of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionSymAlgorithm(java.lang.String)">setEncryptionSymAlgorithm</A></B>(java.lang.String&nbsp;encryptionSymAlgorithm)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption symmetric algorithm of the current action</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setEncryptionUser(java.lang.String)">setEncryptionUser</A></B>(java.lang.String&nbsp;encryptionUser)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the encryption user of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setOptimizeParts(java.lang.String)">setOptimizeParts</A></B>(java.lang.String&nbsp;optimizePartsXPathExpr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the XPath expression to selecte the elements with content of the
 current action to be MTOM optimized.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setPasswordCallbackClass(java.lang.String)">setPasswordCallbackClass</A></B>(java.lang.String&nbsp;passwordCallbackClass)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the name of the password callback class of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setPasswordType(java.lang.String)">setPasswordType</A></B>(java.lang.String&nbsp;passwordType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the password type of the current action</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setPrecisionInMilliseconds(boolean)">setPrecisionInMilliseconds</A></B>(boolean&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Enable/Disable PrecisionInMilliseconds</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setPreserveOriginalEnvelope(boolean)">setPreserveOriginalEnvelope</A></B>(boolean&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets whether signature confirmation should be enabled or not</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSamlPropFile(java.lang.String)">setSamlPropFile</A></B>(java.lang.String&nbsp;samlPropFile)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the SAML property file of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignAllHeadersAndBody()">setSignAllHeadersAndBody</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignatureAlgorithm(java.lang.String)">setSignatureAlgorithm</A></B>(java.lang.String&nbsp;signatureAlgo)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignatureKeyIdentifier(java.lang.String)">setSignatureKeyIdentifier</A></B>(java.lang.String&nbsp;signatureKeyIdentifier)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the signatue key identifier of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignatureParts(java.lang.String)">setSignatureParts</A></B>(java.lang.String&nbsp;signatureParts)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the signature parts of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignaturePropFile(java.lang.String)">setSignaturePropFile</A></B>(java.lang.String&nbsp;signaturePropFile)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the signature property file of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignaturePropRefId(java.lang.String)">setSignaturePropRefId</A></B>(java.lang.String&nbsp;signaturePropRefId)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the signature property ref key of the current action.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setSignBody()">setSignBody</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/rampart/handler/config/OutflowConfiguration.html#setUser(java.lang.String)">setUser</A></B>(java.lang.String&nbsp;user)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Sets the user of the current action.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="OutflowConfiguration()"><!-- --></A><H3>
OutflowConfiguration</H3>
<PRE>
public <B>OutflowConfiguration</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Creates a default outflow configuration instance with an action.
<P>
</DL>
<HR>

<A NAME="OutflowConfiguration(int)"><!-- --></A><H3>
OutflowConfiguration</H3>
<PRE>
public <B>OutflowConfiguration</B>(int&nbsp;actionCount)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Creates a new outflow configuration instance with the given number of
 actions.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>actionCount</CODE> - </DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getProperty()"><!-- --></A><H3>
getProperty</H3>
<PRE>
public org.apache.axis2.description.Parameter <B>getProperty</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the configuration as an Parameter
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns Parameter.</DL>
</DD>
</DL>
<HR>

<A NAME="nextAction()"><!-- --></A><H3>
nextAction</H3>
<PRE>
public void <B>nextAction</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Moves to the next action. If this is called when the current action is the
 last action then the current action will not change.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="previousAction()"><!-- --></A><H3>
previousAction</H3>
<PRE>
public void <B>previousAction</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Moves to previous action. If this is called when the current action is the
 first option then then the current action will not change.
<P>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setActionItems(java.lang.String)"><!-- --></A><H3>
setActionItems</H3>
<PRE>
public void <B>setActionItems</B>(java.lang.String&nbsp;actionItems)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the action items.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>actionItems</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getActionItems()"><!-- --></A><H3>
getActionItems</H3>
<PRE>
public java.lang.String <B>getActionItems</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the action items.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setUser(java.lang.String)"><!-- --></A><H3>
setUser</H3>
<PRE>
public void <B>setUser</B>(java.lang.String&nbsp;user)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the user of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>user</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getUser()"><!-- --></A><H3>
getUser</H3>
<PRE>
public java.lang.String <B>getUser</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the user of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setPasswordCallbackClass(java.lang.String)"><!-- --></A><H3>
setPasswordCallbackClass</H3>
<PRE>
public void <B>setPasswordCallbackClass</B>(java.lang.String&nbsp;passwordCallbackClass)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the name of the password callback class of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>passwordCallbackClass</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getPasswordCallbackClass()"><!-- --></A><H3>
getPasswordCallbackClass</H3>
<PRE>
public java.lang.String <B>getPasswordCallbackClass</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the name of the password callback class of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setSignaturePropFile(java.lang.String)"><!-- --></A><H3>
setSignaturePropFile</H3>
<PRE>
public void <B>setSignaturePropFile</B>(java.lang.String&nbsp;signaturePropFile)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the signature property file of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>signaturePropFile</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setSignaturePropRefId(java.lang.String)"><!-- --></A><H3>
setSignaturePropRefId</H3>
<PRE>
public void <B>setSignaturePropRefId</B>(java.lang.String&nbsp;signaturePropRefId)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the signature property ref key of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>signaturePropRefId</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getSignaturePropFile()"><!-- --></A><H3>
getSignaturePropFile</H3>
<PRE>
public java.lang.String <B>getSignaturePropFile</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the signature property file of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setSignatureKeyIdentifier(java.lang.String)"><!-- --></A><H3>
setSignatureKeyIdentifier</H3>
<PRE>
public void <B>setSignatureKeyIdentifier</B>(java.lang.String&nbsp;signatureKeyIdentifier)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the signatue key identifier of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>signatureKeyIdentifier</CODE> - Valid values:
 <ul>
 <li>X509KeyIdentifier - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#X509_KEY_IDENTIFIER"><CODE>WSSHandlerConstants.X509_KEY_IDENTIFIER</CODE></A></li>
 <li>SKIKeyIdentifier - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#SKI_KEY_IDENTIFIER"><CODE>WSSHandlerConstants.SKI_KEY_IDENTIFIER</CODE></A></li>
 <li>IssuerSerial - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#ISSUER_SERIAL"><CODE>WSSHandlerConstants.ISSUER_SERIAL</CODE></A></li>
 <li>DirectReference - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#BST_DIRECT_REFERENCE"><CODE>WSSHandlerConstants.BST_DIRECT_REFERENCE</CODE></A></li>
 <li>Thumbprint - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#THUMBPRINT_IDENTIFIER"><CODE>WSSHandlerConstants.THUMBPRINT_IDENTIFIER</CODE></A></li>
 </ul></DL>
</DD>
</DL>
<HR>

<A NAME="getSignatureKeyIdentifier()"><!-- --></A><H3>
getSignatureKeyIdentifier</H3>
<PRE>
public java.lang.String <B>getSignatureKeyIdentifier</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the signatue key identifier of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setSignatureAlgorithm(java.lang.String)"><!-- --></A><H3>
setSignatureAlgorithm</H3>
<PRE>
public void <B>setSignatureAlgorithm</B>(java.lang.String&nbsp;signatureAlgo)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSignatureAlgorithm()"><!-- --></A><H3>
getSignatureAlgorithm</H3>
<PRE>
public java.lang.String <B>getSignatureAlgorithm</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionKeyIdentifier(java.lang.String)"><!-- --></A><H3>
setEncryptionKeyIdentifier</H3>
<PRE>
public void <B>setEncryptionKeyIdentifier</B>(java.lang.String&nbsp;encryptionKeyIdentifier)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encrypted key identifier of the current action.
 <br/>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionKeyIdentifier</CODE> - Valid values:
 <ul>
 <li>X509KeyIdentifier - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#X509_KEY_IDENTIFIER"><CODE>WSSHandlerConstants.X509_KEY_IDENTIFIER</CODE></A></li>
 <li>SKIKeyIdentifier - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#SKI_KEY_IDENTIFIER"><CODE>WSSHandlerConstants.SKI_KEY_IDENTIFIER</CODE></A></li>
 <li>IssuerSerial - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#ISSUER_SERIAL"><CODE>WSSHandlerConstants.ISSUER_SERIAL</CODE></A></li>
 <li>DirectReference - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#BST_DIRECT_REFERENCE"><CODE>WSSHandlerConstants.BST_DIRECT_REFERENCE</CODE></A></li>
 <li>EmbeddedKeyName - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#EMBEDDED_KEYNAME"><CODE>WSSHandlerConstants.EMBEDDED_KEYNAME</CODE></A></li>
 <li>Thumbprint - <A HREF="../../../../../org/apache/rampart/handler/WSSHandlerConstants.html#THUMBPRINT_IDENTIFIER"><CODE>WSSHandlerConstants.THUMBPRINT_IDENTIFIER</CODE></A></li>
 </ul></DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionKeyIdentifier()"><!-- --></A><H3>
getEncryptionKeyIdentifier</H3>
<PRE>
public java.lang.String <B>getEncryptionKeyIdentifier</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encrypted key identifier of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionUser(java.lang.String)"><!-- --></A><H3>
setEncryptionUser</H3>
<PRE>
public void <B>setEncryptionUser</B>(java.lang.String&nbsp;encryptionUser)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption user of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionUser</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionUser()"><!-- --></A><H3>
getEncryptionUser</H3>
<PRE>
public java.lang.String <B>getEncryptionUser</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encryption user of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setSignatureParts(java.lang.String)"><!-- --></A><H3>
setSignatureParts</H3>
<PRE>
public void <B>setSignatureParts</B>(java.lang.String&nbsp;signatureParts)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the signature parts of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>signatureParts</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getSignatureParts()"><!-- --></A><H3>
getSignatureParts</H3>
<PRE>
public java.lang.String <B>getSignatureParts</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the signature parts of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionParts(java.lang.String)"><!-- --></A><H3>
setEncryptionParts</H3>
<PRE>
public void <B>setEncryptionParts</B>(java.lang.String&nbsp;encryptionParts)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption parts of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionParts</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionParts()"><!-- --></A><H3>
getEncryptionParts</H3>
<PRE>
public java.lang.String <B>getEncryptionParts</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encryption parts of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setPasswordType(java.lang.String)"><!-- --></A><H3>
setPasswordType</H3>
<PRE>
public void <B>setPasswordType</B>(java.lang.String&nbsp;passwordType)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the password type of the current action
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>passwordType</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getPasswordType()"><!-- --></A><H3>
getPasswordType</H3>
<PRE>
public java.lang.String <B>getPasswordType</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the password type of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionSymAlgorithm(java.lang.String)"><!-- --></A><H3>
setEncryptionSymAlgorithm</H3>
<PRE>
public void <B>setEncryptionSymAlgorithm</B>(java.lang.String&nbsp;encryptionSymAlgorithm)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption symmetric algorithm of the current action
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionSymAlgorithm</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionSymAlgorithm()"><!-- --></A><H3>
getEncryptionSymAlgorithm</H3>
<PRE>
public java.lang.String <B>getEncryptionSymAlgorithm</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encryption symmetric algorithm of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionKeyTransportAlgorithm(java.lang.String)"><!-- --></A><H3>
setEncryptionKeyTransportAlgorithm</H3>
<PRE>
public void <B>setEncryptionKeyTransportAlgorithm</B>(java.lang.String&nbsp;encryptionKeyTransportAlgorithm)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption key transport algorithm of the current action
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionKeyTransportAlgorithm</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionKeyTransportAlgorithm()"><!-- --></A><H3>
getEncryptionKeyTransportAlgorithm</H3>
<PRE>
public java.lang.String <B>getEncryptionKeyTransportAlgorithm</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encryption key transport algorithm of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEmbeddedKeyCallbackClass(java.lang.String)"><!-- --></A><H3>
setEmbeddedKeyCallbackClass</H3>
<PRE>
public void <B>setEmbeddedKeyCallbackClass</B>(java.lang.String&nbsp;embeddedKeyCallbackClass)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the embedded key callback class of the current action
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>embeddedKeyCallbackClass</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEmbeddedKeyCallbackClass()"><!-- --></A><H3>
getEmbeddedKeyCallbackClass</H3>
<PRE>
public java.lang.String <B>getEmbeddedKeyCallbackClass</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the embedded key callback class of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setOptimizeParts(java.lang.String)"><!-- --></A><H3>
setOptimizeParts</H3>
<PRE>
public void <B>setOptimizeParts</B>(java.lang.String&nbsp;optimizePartsXPathExpr)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the XPath expression to selecte the elements with content of the
 current action to be MTOM optimized.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>optimizePartsXPathExpr</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getOptimizeParts()"><!-- --></A><H3>
getOptimizeParts</H3>
<PRE>
public java.lang.String <B>getOptimizeParts</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the Path expression to selecte the elements with content of the
 current action to be MTOM optimized.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setSamlPropFile(java.lang.String)"><!-- --></A><H3>
setSamlPropFile</H3>
<PRE>
public void <B>setSamlPropFile</B>(java.lang.String&nbsp;samlPropFile)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the SAML property file of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>samlPropFile</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getSamlPropFile()"><!-- --></A><H3>
getSamlPropFile</H3>
<PRE>
public java.lang.String <B>getSamlPropFile</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the SAML property file of the current action.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionPropFile(java.lang.String)"><!-- --></A><H3>
setEncryptionPropFile</H3>
<PRE>
public void <B>setEncryptionPropFile</B>(java.lang.String&nbsp;encPropFile)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption property file.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encPropFile</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptionPropRefId(java.lang.String)"><!-- --></A><H3>
setEncryptionPropRefId</H3>
<PRE>
public void <B>setEncryptionPropRefId</B>(java.lang.String&nbsp;encryptionPropRefId)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the encryption property ref key of the current action.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encryptionPropRefId</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncryptionPropFile()"><!-- --></A><H3>
getEncryptionPropFile</H3>
<PRE>
public java.lang.String <B>getEncryptionPropFile</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the encryption property file.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setPrecisionInMilliseconds(boolean)"><!-- --></A><H3>
setPrecisionInMilliseconds</H3>
<PRE>
public void <B>setPrecisionInMilliseconds</B>(boolean&nbsp;value)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Enable/Disable PrecisionInMilliseconds
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getPrecisionInMilliseconds()"><!-- --></A><H3>
getPrecisionInMilliseconds</H3>
<PRE>
public java.lang.String <B>getPrecisionInMilliseconds</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns whether PrecisionInMilliseconds is enabled or not
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setAddUTElements(java.lang.String)"><!-- --></A><H3>
setAddUTElements</H3>
<PRE>
public void <B>setAddUTElements</B>(java.lang.String&nbsp;addUTElements)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Option to add additional elements in the username token element.
 Example: Nonce and Create elements
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>addUTElements</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getAddUTElements()"><!-- --></A><H3>
getAddUTElements</H3>
<PRE>
public java.lang.String <B>getAddUTElements</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the additional elements to be added to the username token element.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEmbeddedKeyName(java.lang.String)"><!-- --></A><H3>
setEmbeddedKeyName</H3>
<PRE>
public void <B>setEmbeddedKeyName</B>(java.lang.String&nbsp;embeddedKeyName)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets the text of the key name that needs to be sent.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>embeddedKeyName</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEmbeddedKeyName()"><!-- --></A><H3>
getEmbeddedKeyName</H3>
<PRE>
public java.lang.String <B>getEmbeddedKeyName</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns the text of the key name that needs to be sent.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setEnableSignatureConfirmation(boolean)"><!-- --></A><H3>
setEnableSignatureConfirmation</H3>
<PRE>
public void <B>setEnableSignatureConfirmation</B>(boolean&nbsp;value)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets whether signature confirmation should be enabled or not.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEnableSignatureConfirmation()"><!-- --></A><H3>
getEnableSignatureConfirmation</H3>
<PRE>
public java.lang.String <B>getEnableSignatureConfirmation</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns whether signature confirmation should be enabled or not
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setPreserveOriginalEnvelope(boolean)"><!-- --></A><H3>
setPreserveOriginalEnvelope</H3>
<PRE>
public void <B>setPreserveOriginalEnvelope</B>(boolean&nbsp;value)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Sets whether signature confirmation should be enabled or not
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getPreserveOriginalEnvelope()"><!-- --></A><H3>
getPreserveOriginalEnvelope</H3>
<PRE>
public java.lang.String <B>getPreserveOriginalEnvelope</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Returns whether signature confirmation should be enabled or not.
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns String.</DL>
</DD>
</DL>
<HR>

<A NAME="setBSPCompliant(boolean)"><!-- --></A><H3>
setBSPCompliant</H3>
<PRE>
public void <B>setBSPCompliant</B>(boolean&nbsp;value)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>This will set whether request or response evaluation should adhere to "Basic Security Profile"
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - true if evaluation should adhere to "Basic Security Profile" else false. Default is true.</DL>
</DD>
</DL>
<HR>

<A NAME="getBSPCompliant()"><!-- --></A><H3>
getBSPCompliant</H3>
<PRE>
public java.lang.String <B>getBSPCompliant</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Gets whether security processing is configured to handle BSP compliant manner.
 "true" or "false"
<P>
<DD><DL>

<DT><B>Returns:</B><DD>Returns "true" or "false".</DL>
</DD>
</DL>
<HR>

<A NAME="setSignAllHeadersAndBody()"><!-- --></A><H3>
setSignAllHeadersAndBody</H3>
<PRE>
public void <B>setSignAllHeadersAndBody</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSignBody()"><!-- --></A><H3>
setSignBody</H3>
<PRE>
public void <B>setSignBody</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEncryptBody()"><!-- --></A><H3>
setEncryptBody</H3>
<PRE>
public void <B>setEncryptBody</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OutflowConfiguration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/rampart/handler/config/InflowConfiguration.html" title="class in org.apache.rampart.handler.config"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/rampart/handler/config/OutflowConfiguration.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="OutflowConfiguration.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>
