You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2009/05/10 00:57:48 UTC

svn commit: r773282 [10/16] - in /jakarta/jmeter/trunk/docs: ./ localising/ usermanual/

Modified: jakarta/jmeter/trunk/docs/usermanual/component_reference.html
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/docs/usermanual/component_reference.html?rev=773282&r1=773281&r2=773282&view=diff
==============================================================================
--- jakarta/jmeter/trunk/docs/usermanual/component_reference.html (original)
+++ jakarta/jmeter/trunk/docs/usermanual/component_reference.html Sat May  9 22:57:45 2009
@@ -18,28 +18,28 @@
 
 <!-- Content Stylesheet for Site -->
 
-	 
+
 <!-- start the processing -->
-	 <!-- ====================================================================== -->
-	 <!-- Main Page Section -->
-	 <!-- ====================================================================== -->
-	 <html>
-		  <head>
-				<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+<!-- ====================================================================== -->
+<!-- Main Page Section -->
+<!-- ====================================================================== -->
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
 
-				
-								
-				<title>JMeter - User's Manual: Component Reference</title>
-		  </head>
-
-		  <body bgcolor="#ffffff" text="#000000" link="#525D76">
-				<table border="0" cellspacing="0">
-					 <!-- TOP IMAGE -->
-					 <tr>
-						  <td>
+
+
+<title>JMeter - User's Manual: Component Reference</title>
+</head>
+
+<body bgcolor="#ffffff" text="#000000" link="#525D76">
+<table border="0" cellspacing="0">
+<!-- TOP IMAGE -->
+<tr>
+<td>
 <!-- Need to specify height otherwise iframe seems to grab extra -->
 <iframe src="http://www.apache.org/ads/halfbanner.html" height="102"
-    style="border-width:0; float: left" frameborder="0" scrolling="no"></iframe>
+style="border-width:0; float: left" frameborder="0" scrolling="no"></iframe>
 </td>
 <td align="left">
 <a href="http://jakarta.apache.org"><img width="505" height="48" src="../images/jakarta-logo.gif" alt="Jakarta" title="Jakarta" border="0"/></a>
@@ -47,871 +47,899 @@
 <td align="right">
 <a href="http://jakarta.apache.org/jmeter/"><img width="221" height="102" src="../images/logo.jpg" alt="JMeter" title="JMeter" border="0"/></a>
 </td>
-					 </tr>
-				</table>
-				<table border="0" width="100%" cellspacing="4">
-					 <tr><td colspan="2">
-						  <hr noshade size="1"/>
-					 </td></tr>
-
-					 <tr>
-						  <!-- LEFT SIDE NAVIGATION -->
-						  <td width="20%" valign="top" nowrap="true">
-						  	 		  <p><strong>About</strong></p>
-		  <ul>
-		  				<li>	 <a href="../index.html">Overview</a>
-</li>
-		  				<li>	 <a href="../changes.html">Changes</a>
-</li>
-		  				<li>	 <a href="../known_bugs.html">Known Bugs</a>
-</li>
-		  				<li>	 <a href="../license.html">License</a>
-</li>
-		  				<li>	 <a href="http://wiki.apache.org/jakarta-jmeter/JMeterCommitters">Contributors</a>
-</li>
-		  		  </ul>
-	 		  <p><strong>Download</strong></p>
-		  <ul>
-		  				<li>	 <a href="http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi">Download Releases</a>
-</li>
-		  				<li>	 <a href="../nightly.html">Developer (Nightly) Builds</a>
-</li>
-		  		  </ul>
-	 		  <p><strong>Documentation</strong></p>
-		  <ul>
-		  				<li>	 <a href="../usermanual/index.html">User Manual</a>
-</li>
-		  				<li>	 <a href="../api/index.html">Javadocs</a>
-</li>
-		  				<li>	 <a href="../localising/index.html">Localisation (Translator's Guide)</a>
-</li>
-		  				<li>	 <a href="../building.html">Building JMeter and Add-Ons</a>
-</li>
-		  				<li>	 <a href="http://wiki.apache.org/jakarta-jmeter">JMeter Wiki</a>
-</li>
-		  				<li>	 <a href="http://wiki.apache.org/jakarta-jmeter/JMeterFAQ">FAQ (Wiki)</a>
-</li>
-		  		  </ul>
-	 		  <p><strong>Tutorials (PDF format)</strong></p>
-		  <ul>
-		  				<li>	 <a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a>
-</li>
-		  				<li>	 <a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
-</li>
-		  				<li>	 <a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
-</li>
-		  				<li>	 <a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a>
-</li>
-		  				<li>	 <a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
-</li>
-		  		  </ul>
-	 		  <p><strong>Community</strong></p>
-		  <ul>
-		  				<li>	 <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
-</li>
-		  				<li>	 <a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
-</li>
-		  				<li>	 <a href="http://jakarta.apache.org/site/cvsindex.html">SVN Repositories</a>
-</li>
-		  		  </ul>
-	 						  </td>
-						  <td width="80%" align="left" valign="top">
-						    		<table>
-		<tr>
-		<td bgcolor="#525D76">
-        <div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
-        </td>
-				<td bgcolor="#525D76">
-        <div align="right"><a href="functions.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
-        </td>
-        				<td bgcolor="#525D76">
-        <div align="right"><a href="boss.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
-        </td>
-                </tr>
-         </table>
-      						  <br>
-						  								<ul>
-			<li><a href="#samplers">18.1 Samplers</a></li>
-		<ul>
-					<li><a href="#FTP_Request">FTP Request</a></li>
-					<li><a href="#HTTP_Request">HTTP Request</a></li>
-					<li><a href="#JDBC_Request">JDBC Request</a></li>
-					<li><a href="#Java_Request">Java Request</a></li>
-					<li><a href="#SOAP/XML-RPC_Request">SOAP/XML-RPC Request</a></li>
-					<li><a href="#WebService(SOAP)_Request">WebService(SOAP) Request</a></li>
-					<li><a href="#LDAP_Request">LDAP Request</a></li>
-					<li><a href="#LDAP_Extended_Request">LDAP Extended Request</a></li>
-					<li><a href="#Access_Log_Sampler">Access Log Sampler</a></li>
-					<li><a href="#BeanShell_Sampler">BeanShell Sampler</a></li>
-					<li><a href="#BSF_Sampler">BSF Sampler</a></li>
-					<li><a href="#TCP_Sampler">TCP Sampler</a></li>
-					<li><a href="#JMS_Publisher">JMS Publisher</a></li>
-					<li><a href="#JMS_Subscriber">JMS Subscriber</a></li>
-					<li><a href="#JMS_Point-to-Point">JMS Point-to-Point</a></li>
-					<li><a href="#JUnit_Request">JUnit Request</a></li>
-					<li><a href="#Mail_Reader_Sampler">Mail Reader Sampler</a></li>
-					<li><a href="#Test_Action">Test Action</a></li>
-				</ul>
-			<li><a href="#logic_controllers">18.2 Logic Controllers</a></li>
-		<ul>
-					<li><a href="#Simple_Controller">Simple Controller</a></li>
-					<li><a href="#Loop_Controller">Loop Controller</a></li>
-					<li><a href="#Once_Only_Controller">Once Only Controller</a></li>
-					<li><a href="#Interleave_Controller">Interleave Controller</a></li>
-					<li><a href="#Random_Controller">Random Controller</a></li>
-					<li><a href="#Random_Order_Controller">Random Order Controller</a></li>
-					<li><a href="#Throughput_Controller">Throughput Controller</a></li>
-					<li><a href="#Runtime_Controller">Runtime Controller</a></li>
-					<li><a href="#If_Controller">If Controller</a></li>
-					<li><a href="#While_Controller">While Controller</a></li>
-					<li><a href="#Switch_Controller">Switch Controller</a></li>
-					<li><a href="#ForEach_Controller">ForEach Controller</a></li>
-					<li><a href="#Module_Controller">Module Controller</a></li>
-					<li><a href="#Include_Controller">Include Controller</a></li>
-					<li><a href="#Transaction_Controller">Transaction Controller</a></li>
-					<li><a href="#Recording_Controller">Recording Controller</a></li>
-				</ul>
-			<li><a href="#listeners">18.3 Listeners</a></li>
-		<ul>
-					<li><a href="#Sample_Result_Save_Configuration">Sample Result Save Configuration</a></li>
-					<li><a href="#Graph_Full_Results">Graph Full Results</a></li>
-					<li><a href="#Graph_Results">Graph Results</a></li>
-					<li><a href="#Spline_Visualizer">Spline Visualizer</a></li>
-					<li><a href="#Assertion_Results">Assertion Results</a></li>
-					<li><a href="#View_Results_Tree">View Results Tree</a></li>
-					<li><a href="#Aggregate_Report">Aggregate Report</a></li>
-					<li><a href="#View_Results_in_Table">View Results in Table</a></li>
-					<li><a href="#Simple_Data_Writer">Simple Data Writer</a></li>
-					<li><a href="#Monitor_Results">Monitor Results</a></li>
-					<li><a href="#Distribution_Graph_(alpha)">Distribution Graph (alpha)</a></li>
-					<li><a href="#Aggregate_Graph">Aggregate Graph</a></li>
-					<li><a href="#Mailer_Visualizer">Mailer Visualizer</a></li>
-					<li><a href="#BeanShell_Listener">BeanShell Listener</a></li>
-					<li><a href="#Summary_Report">Summary Report</a></li>
-				</ul>
-			<li><a href="#config_elements">18.4 Configuration Elements</a></li>
-		<ul>
-					<li><a href="#CSV_Data_Set_Config">CSV Data Set Config</a></li>
-					<li><a href="#FTP_Request_Defaults">FTP Request Defaults</a></li>
-					<li><a href="#HTTP_Authorization_Manager">HTTP Authorization Manager</a></li>
-					<li><a href="#HTTP_Cache_Manager">HTTP Cache Manager</a></li>
-					<li><a href="#HTTP_Cookie_Manager">HTTP Cookie Manager</a></li>
-					<li><a href="#HTTP_Request_Defaults">HTTP Request Defaults</a></li>
-					<li><a href="#HTTP_Header_Manager">HTTP Header Manager</a></li>
-					<li><a href="#Java_Request_Defaults">Java Request Defaults</a></li>
-					<li><a href="#JDBC_Connection_Configuration">JDBC Connection Configuration</a></li>
-					<li><a href="#Login_Config_Element">Login Config Element</a></li>
-					<li><a href="#LDAP_Request_Defaults">LDAP Request Defaults</a></li>
-					<li><a href="#LDAP_Extended_Request_Defaults">LDAP Extended Request Defaults</a></li>
-					<li><a href="#TCP_Sampler_Config">TCP Sampler Config</a></li>
-					<li><a href="#User_Defined_Variables">User Defined Variables</a></li>
-					<li><a href="#Simple_Config_Element">Simple Config Element</a></li>
-				</ul>
-			<li><a href="#assertions">18.5 Assertions</a></li>
-		<ul>
-					<li><a href="#Response_Assertion">Response Assertion</a></li>
-					<li><a href="#Duration_Assertion">Duration Assertion</a></li>
-					<li><a href="#Size_Assertion">Size Assertion</a></li>
-					<li><a href="#XML_Assertion">XML Assertion</a></li>
-					<li><a href="#BeanShell_Assertion">BeanShell Assertion</a></li>
-					<li><a href="#MD5Hex_Assertion">MD5Hex Assertion</a></li>
-					<li><a href="#HTML_Assertion">HTML Assertion</a></li>
-					<li><a href="#XPath_Assertion">XPath Assertion</a></li>
-					<li><a href="#XML_Schema_Assertion">XML Schema Assertion</a></li>
-					<li><a href="#BSF_Assertion">BSF Assertion</a></li>
-				</ul>
-			<li><a href="#timers">18.6 Timers</a></li>
-		<ul>
-					<li><a href="#Constant_Timer">Constant Timer</a></li>
-					<li><a href="#Gaussian_Random_Timer">Gaussian Random Timer</a></li>
-					<li><a href="#Uniform_Random_Timer">Uniform Random Timer</a></li>
-					<li><a href="#Constant_Throughput_Timer">Constant Throughput Timer</a></li>
-					<li><a href="#Synchronizing_Timer">Synchronizing Timer</a></li>
-					<li><a href="#BeanShell_Timer">BeanShell Timer</a></li>
-				</ul>
-			<li><a href="#preprocessors">18.7 Pre Processors</a></li>
-		<ul>
-					<li><a href="#HTML_Link_Parser">HTML Link Parser</a></li>
-					<li><a href="#HTTP_URL_Re-writing_Modifier">HTTP URL Re-writing Modifier</a></li>
-					<li><a href="#HTML_Parameter_Mask">HTML Parameter Mask</a></li>
-					<li><a href="#HTTP_User_Parameter_Modifier">HTTP User Parameter Modifier</a></li>
-					<li><a href="#User_Parameters">User Parameters</a></li>
-					<li><a href="#Counter">Counter</a></li>
-					<li><a href="#BeanShell_PreProcessor">BeanShell PreProcessor</a></li>
-					<li><a href="#BSF_PreProcessor">BSF PreProcessor</a></li>
-				</ul>
-			<li><a href="#postprocessors">18.8 Post-Processors</a></li>
-		<ul>
-					<li><a href="#Regular_Expression_Extractor">Regular Expression Extractor</a></li>
-					<li><a href="#XPath_Extractor">XPath Extractor</a></li>
-					<li><a href="#Result_Status_Action_Handler">Result Status Action Handler</a></li>
-					<li><a href="#Save_Responses_to_a_file">Save Responses to a file</a></li>
-					<li><a href="#Generate_Summary_Results">Generate Summary Results</a></li>
-					<li><a href="#BeanShell_PostProcessor">BeanShell PostProcessor</a></li>
-					<li><a href="#BSF_PostProcessor">BSF PostProcessor</a></li>
-				</ul>
-			<li><a href="#Miscellaneous_Features">18.9 Miscellaneous Features</a></li>
-		<ul>
-					<li><a href="#Test_Plan">Test Plan</a></li>
-					<li><a href="#Thread_Group">Thread Group</a></li>
-					<li><a href="#WorkBench">WorkBench</a></li>
-					<li><a href="#SSL_Manager">SSL Manager</a></li>
-					<li><a href="#HTTP_Proxy_Server">HTTP Proxy Server</a></li>
-					<li><a href="#HTTP_Mirror_Server">HTTP Mirror Server</a></li>
-					<li><a href="#Property_Display">Property Display</a></li>
-					<li><a href="#Debug_Sampler">Debug Sampler</a></li>
-					<li><a href="#Debug_PostProcessor">Debug PostProcessor</a></li>
-				</ul>
-			<li><a href="#Reports">18.10 Reports</a></li>
-		<ul>
-					<li><a href="#Report_Plan">Report Plan</a></li>
-					<li><a href="#Report_Table">Report Table</a></li>
-					<li><a href="#HTML_Report_Writer">HTML Report Writer</a></li>
-					<li><a href="#Report_Page">Report Page</a></li>
-					<li><a href="#Line_Graph">Line Graph</a></li>
-					<li><a href="#Bar_Chart">Bar Chart</a></li>
-				</ul>
-		</ul>
-						  						  									 <table border="0" cellspacing="0" cellpadding="2" width="100%">
-		<tr><td bgcolor="#525D76">
-		  <font color="#ffffff" face="arial,helvetica,sanserif">
-			 <a name="samplers"><strong>18.1 Samplers</strong></a>
-		  </font>
-		</td></tr>
-		<tr><td>
-		  <blockquote>
-		  									 				<description	>
-								
+</tr>
+</table>
+<table border="0" width="100%" cellspacing="4">
+<tr><td colspan="2">
+<hr noshade size="1"/>
+</td></tr>
+<tr>
+<!-- LEFT SIDE NAVIGATION -->
+<td width="20%" valign="top" nowrap="true">
+<p><strong>About</strong></p>
+<ul>
+<li><a href="../index.html">Overview</a>
+</li>
+<li><a href="../changes.html">Changes</a>
+</li>
+<li><a href="../known_bugs.html">Known Bugs</a>
+</li>
+<li><a href="../license.html">License</a>
+</li>
+<li><a href="http://wiki.apache.org/jakarta-jmeter/JMeterCommitters">Contributors</a>
+</li>
+</ul>
+<p><strong>Download</strong></p>
+<ul>
+<li><a href="http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi">Download Releases</a>
+</li>
+<li><a href="../nightly.html">Developer (Nightly) Builds</a>
+</li>
+</ul>
+<p><strong>Documentation</strong></p>
+<ul>
+<li><a href="../usermanual/index.html">User Manual</a>
+</li>
+<li><a href="../api/index.html">Javadocs</a>
+</li>
+<li><a href="../localising/index.html">Localisation (Translator's Guide)</a>
+</li>
+<li><a href="../building.html">Building JMeter and Add-Ons</a>
+</li>
+<li><a href="http://wiki.apache.org/jakarta-jmeter">JMeter Wiki</a>
+</li>
+<li><a href="http://wiki.apache.org/jakarta-jmeter/JMeterFAQ">FAQ (Wiki)</a>
+</li>
+</ul>
+<p><strong>Tutorials (PDF format)</strong></p>
+<ul>
+<li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a>
+</li>
+<li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a>
+</li>
+<li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a>
+</li>
+<li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a>
+</li>
+<li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a>
+</li>
+</ul>
+<p><strong>Community</strong></p>
+<ul>
+<li><a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
+</li>
+<li><a href="http://jakarta.apache.org/site/mail.html">Mailing Lists</a>
+</li>
+<li><a href="http://jakarta.apache.org/site/cvsindex.html">SVN Repositories</a>
+</li>
+</ul>
+</td>
+<td width="80%" align="left" valign="top">
+<table>
+<tr>
+<td bgcolor="#525D76">
+<div align="right"><a href="index.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Index</font></a></div>
+</td>
+<td bgcolor="#525D76">
+<div align="right"><a href="functions.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Next</font></a></div>
+</td>
+<td bgcolor="#525D76">
+<div align="right"><a href="boss.html"><font size=-1 color="#ffffff" face="arial,helvetica,sanserif">Prev</font></a></div>
+</td>
+</tr>
+</table>
+<br>
+<ul>
+<li><a href="#samplers">18.1 Samplers</a></li>
+<ul>
+<li><a href="#FTP_Request">FTP Request</a></li>
+<li><a href="#HTTP_Request">HTTP Request</a></li>
+<li><a href="#JDBC_Request">JDBC Request</a></li>
+<li><a href="#Java_Request">Java Request</a></li>
+<li><a href="#SOAP/XML-RPC_Request">SOAP/XML-RPC Request</a></li>
+<li><a href="#WebService(SOAP)_Request">WebService(SOAP) Request</a></li>
+<li><a href="#LDAP_Request">LDAP Request</a></li>
+<li><a href="#LDAP_Extended_Request">LDAP Extended Request</a></li>
+<li><a href="#Access_Log_Sampler">Access Log Sampler</a></li>
+<li><a href="#BeanShell_Sampler">BeanShell Sampler</a></li>
+<li><a href="#BSF_Sampler">BSF Sampler</a></li>
+<li><a href="#TCP_Sampler">TCP Sampler</a></li>
+<li><a href="#JMS_Publisher">JMS Publisher</a></li>
+<li><a href="#JMS_Subscriber">JMS Subscriber</a></li>
+<li><a href="#JMS_Point-to-Point">JMS Point-to-Point</a></li>
+<li><a href="#JUnit_Request">JUnit Request</a></li>
+<li><a href="#Mail_Reader_Sampler">Mail Reader Sampler</a></li>
+<li><a href="#Test_Action">Test Action</a></li>
+</ul>
+<li><a href="#logic_controllers">18.2 Logic Controllers</a></li>
+<ul>
+<li><a href="#Simple_Controller">Simple Controller</a></li>
+<li><a href="#Loop_Controller">Loop Controller</a></li>
+<li><a href="#Once_Only_Controller">Once Only Controller</a></li>
+<li><a href="#Interleave_Controller">Interleave Controller</a></li>
+<li><a href="#Random_Controller">Random Controller</a></li>
+<li><a href="#Random_Order_Controller">Random Order Controller</a></li>
+<li><a href="#Throughput_Controller">Throughput Controller</a></li>
+<li><a href="#Runtime_Controller">Runtime Controller</a></li>
+<li><a href="#If_Controller">If Controller</a></li>
+<li><a href="#While_Controller">While Controller</a></li>
+<li><a href="#Switch_Controller">Switch Controller</a></li>
+<li><a href="#ForEach_Controller">ForEach Controller</a></li>
+<li><a href="#Module_Controller">Module Controller</a></li>
+<li><a href="#Include_Controller">Include Controller</a></li>
+<li><a href="#Transaction_Controller">Transaction Controller</a></li>
+<li><a href="#Recording_Controller">Recording Controller</a></li>
+</ul>
+<li><a href="#listeners">18.3 Listeners</a></li>
+<ul>
+<li><a href="#Sample_Result_Save_Configuration">Sample Result Save Configuration</a></li>
+<li><a href="#Graph_Full_Results">Graph Full Results</a></li>
+<li><a href="#Graph_Results">Graph Results</a></li>
+<li><a href="#Spline_Visualizer">Spline Visualizer</a></li>
+<li><a href="#Assertion_Results">Assertion Results</a></li>
+<li><a href="#View_Results_Tree">View Results Tree</a></li>
+<li><a href="#Aggregate_Report">Aggregate Report</a></li>
+<li><a href="#View_Results_in_Table">View Results in Table</a></li>
+<li><a href="#Simple_Data_Writer">Simple Data Writer</a></li>
+<li><a href="#Monitor_Results">Monitor Results</a></li>
+<li><a href="#Distribution_Graph_(alpha)">Distribution Graph (alpha)</a></li>
+<li><a href="#Aggregate_Graph">Aggregate Graph</a></li>
+<li><a href="#Mailer_Visualizer">Mailer Visualizer</a></li>
+<li><a href="#BeanShell_Listener">BeanShell Listener</a></li>
+<li><a href="#Summary_Report">Summary Report</a></li>
+<li><a href="#Save_Responses_to_a_file">Save Responses to a file</a></li>
+<li><a href="#BSF_Listener">BSF Listener</a></li>
+<li><a href="#Generate_Summary_Results">Generate Summary Results</a></li>
+</ul>
+<li><a href="#config_elements">18.4 Configuration Elements</a></li>
+<ul>
+<li><a href="#CSV_Data_Set_Config">CSV Data Set Config</a></li>
+<li><a href="#FTP_Request_Defaults">FTP Request Defaults</a></li>
+<li><a href="#HTTP_Authorization_Manager">HTTP Authorization Manager</a></li>
+<li><a href="#HTTP_Cache_Manager">HTTP Cache Manager</a></li>
+<li><a href="#HTTP_Cookie_Manager">HTTP Cookie Manager</a></li>
+<li><a href="#HTTP_Request_Defaults">HTTP Request Defaults</a></li>
+<li><a href="#HTTP_Header_Manager">HTTP Header Manager</a></li>
+<li><a href="#Java_Request_Defaults">Java Request Defaults</a></li>
+<li><a href="#JDBC_Connection_Configuration">JDBC Connection Configuration</a></li>
+<li><a href="#Login_Config_Element">Login Config Element</a></li>
+<li><a href="#LDAP_Request_Defaults">LDAP Request Defaults</a></li>
+<li><a href="#LDAP_Extended_Request_Defaults">LDAP Extended Request Defaults</a></li>
+<li><a href="#TCP_Sampler_Config">TCP Sampler Config</a></li>
+<li><a href="#User_Defined_Variables">User Defined Variables</a></li>
+<li><a href="#Random_Variable">Random Variable</a></li>
+<li><a href="#Counter">Counter</a></li>
+<li><a href="#Simple_Config_Element">Simple Config Element</a></li>
+</ul>
+<li><a href="#assertions">18.5 Assertions</a></li>
+<ul>
+<li><a href="#Response_Assertion">Response Assertion</a></li>
+<li><a href="#Duration_Assertion">Duration Assertion</a></li>
+<li><a href="#Size_Assertion">Size Assertion</a></li>
+<li><a href="#XML_Assertion">XML Assertion</a></li>
+<li><a href="#BeanShell_Assertion">BeanShell Assertion</a></li>
+<li><a href="#MD5Hex_Assertion">MD5Hex Assertion</a></li>
+<li><a href="#HTML_Assertion">HTML Assertion</a></li>
+<li><a href="#XPath_Assertion">XPath Assertion</a></li>
+<li><a href="#XML_Schema_Assertion">XML Schema Assertion</a></li>
+<li><a href="#BSF_Assertion">BSF Assertion</a></li>
+</ul>
+<li><a href="#timers">18.6 Timers</a></li>
+<ul>
+<li><a href="#Constant_Timer">Constant Timer</a></li>
+<li><a href="#Gaussian_Random_Timer">Gaussian Random Timer</a></li>
+<li><a href="#Uniform_Random_Timer">Uniform Random Timer</a></li>
+<li><a href="#Constant_Throughput_Timer">Constant Throughput Timer</a></li>
+<li><a href="#Synchronizing_Timer">Synchronizing Timer</a></li>
+<li><a href="#BeanShell_Timer">BeanShell Timer</a></li>
+</ul>
+<li><a href="#preprocessors">18.7 Pre Processors</a></li>
+<ul>
+<li><a href="#HTML_Link_Parser">HTML Link Parser</a></li>
+<li><a href="#HTTP_URL_Re-writing_Modifier">HTTP URL Re-writing Modifier</a></li>
+<li><a href="#HTML_Parameter_Mask">HTML Parameter Mask</a></li>
+<li><a href="#HTTP_User_Parameter_Modifier">HTTP User Parameter Modifier</a></li>
+<li><a href="#User_Parameters">User Parameters</a></li>
+<li><a href="#BeanShell_PreProcessor">BeanShell PreProcessor</a></li>
+<li><a href="#BSF_PreProcessor">BSF PreProcessor</a></li>
+</ul>
+<li><a href="#postprocessors">18.8 Post-Processors</a></li>
+<ul>
+<li><a href="#Regular_Expression_Extractor">Regular Expression Extractor</a></li>
+<li><a href="#XPath_Extractor">XPath Extractor</a></li>
+<li><a href="#Result_Status_Action_Handler">Result Status Action Handler</a></li>
+<li><a href="#BeanShell_PostProcessor">BeanShell PostProcessor</a></li>
+<li><a href="#BSF_PostProcessor">BSF PostProcessor</a></li>
+</ul>
+<li><a href="#Miscellaneous_Features">18.9 Miscellaneous Features</a></li>
+<ul>
+<li><a href="#Test_Plan">Test Plan</a></li>
+<li><a href="#Thread_Group">Thread Group</a></li>
+<li><a href="#WorkBench">WorkBench</a></li>
+<li><a href="#SSL_Manager">SSL Manager</a></li>
+<li><a href="#HTTP_Proxy_Server">HTTP Proxy Server</a></li>
+<li><a href="#HTTP_Mirror_Server">HTTP Mirror Server</a></li>
+<li><a href="#Property_Display">Property Display</a></li>
+<li><a href="#Debug_Sampler">Debug Sampler</a></li>
+<li><a href="#Debug_PostProcessor">Debug PostProcessor</a></li>
+</ul>
+<li><a href="#Reports">18.10 Reports</a></li>
+<ul>
+<li><a href="#Report_Plan">Report Plan</a></li>
+<li><a href="#Report_Table">Report Table</a></li>
+<li><a href="#HTML_Report_Writer">HTML Report Writer</a></li>
+<li><a href="#Report_Page">Report Page</a></li>
+<li><a href="#Line_Graph">Line Graph</a></li>
+<li><a href="#Bar_Chart">Bar Chart</a></li>
+</ul>
+</ul>
+<table border="0" cellspacing="0" cellpadding="2" width="100%">
+<tr><td bgcolor="#525D76">
+<font color="#ffffff" face="arial,helvetica,sanserif">
+<a name="samplers"><strong>18.1 Samplers</strong></a>
+</font>
+</td></tr>
+<tr><td>
+<blockquote>
+<description>
+
 	
-												<p	>
-								
+<p>
+
 	Samplers perform the actual work of JMeter.
 	Each sampler (except Test Action) generates one or more sample results.
 	The sample results have various attributes (success/fail, elapsed time, data size etc) and can be viewed in the various listeners.
 	
-						</p>
-									
+</p>
+
+
+</description>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="FTP_Request">18.1.1 FTP Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
 
-						</description>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="FTP_Request">18.1.1 FTP Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  															
 This controller lets you send an FTP "retrieve file" or "upload file" request to an FTP server.
 If you are going to send multiple requests to the same FTP server, consider
 using a 
-												<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
-									 Configuration
+<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
+ Configuration
 Element so you do not have to enter the same information for each FTP Request Generative
 Controller. When downloading a file, it can be stored on disk (Local File) or in the Response Data, or both.
 
-												<p	>
-								
+<p>
+
 Latency is set to the time it takes to login (versions of JMeter after 2.3.1).
 
-						</p>
-									
+</p>
 
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='502' height='299' src="../images/screenshots/ftptest/ftp-request.png"></div>
-											  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this controller that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Server Name or IP</td>
-			<td>						Domain name or IP address of the FTP server.
+
+<p><b>Control Panel</b></p>
+<div align="center"><img width='502' height='299' src="../images/screenshots/ftptest/ftp-request.png"></div>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this controller that is shown in the tree.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Server Name or IP</td>
+<td>Domain name or IP address of the FTP server.
 JMeter assumes the FTP server is listening on the default port.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Remote File:</td>
-			<td>						File to retrieve or name of destination file to upload.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Local File:</td>
-			<td>						File to upload, or destination for downloads (defaults to remote file name).
-			</td>
-			<td>
-											Yes, if uploading (*)
-								</td>
-		</tr>
-			<tr>
-			<td>Local File Contents:</td>
-			<td>						Provides the contents for the upload, overrides the Local File property.
-			</td>
-			<td>
-											Yes, if uploading (*)
-								</td>
-		</tr>
-			<tr>
-			<td>get(RETR) / put(STOR)</td>
-			<td>						Whether to retrieve or upload a file.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Use Binary mode ?</td>
-			<td>						Check this to use Binary mode (default Ascii)
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Save File in Response ?</td>
-			<td>						
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Remote File:</td>
+<td>File to retrieve or name of destination file to upload.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Local File:</td>
+<td>File to upload, or destination for downloads (defaults to remote file name).
+</td>
+<td>
+Yes, if uploading (*)
+</td>
+</tr>
+<tr>
+<td>Local File Contents:</td>
+<td>Provides the contents for the upload, overrides the Local File property.
+</td>
+<td>
+Yes, if uploading (*)
+</td>
+</tr>
+<tr>
+<td>get(RETR) / put(STOR)</td>
+<td>Whether to retrieve or upload a file.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Use Binary mode ?</td>
+<td>Check this to use Binary mode (default Ascii)
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Save File in Response ?</td>
+<td>
         Whether to store contents of retrieved file in response data.
         If the mode is Ascii, then the contents will be visible in the Tree View Listener.
         
-			</td>
-			<td>
-											Yes, if downloading
-								</td>
-		</tr>
-			<tr>
-			<td>Username</td>
-			<td>						FTP account username.
-			</td>
-			<td>
-											Usually
-								</td>
-		</tr>
-			<tr>
-			<td>Password</td>
-			<td>						FTP account password. N.B. This will be visible in the test plan.
-			</td>
-			<td>
-											Usually
-								</td>
-		</tr>
-		</table>
-	</p>
-							  									 			 	<p><b>See Also:</b>
-	<ul>
-						<li><a href="test_plan.html#assertions">Assertions</a></li>
-								<li>	<a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
-</li>
-								<li><a href="build-ftp-test-plan.html">Building an FTP Test Plan</a></li>
-				</ul>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="HTTP_Request">18.1.2 HTTP Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  															
+</td>
+<td>
+Yes, if downloading
+</td>
+</tr>
+<tr>
+<td>Username</td>
+<td>FTP account username.
+</td>
+<td>
+Usually
+</td>
+</tr>
+<tr>
+<td>Password</td>
+<td>FTP account password. N.B. This will be visible in the test plan.
+</td>
+<td>
+Usually
+</td>
+</tr>
+</table>
+</p>
+<p><b>See Also:</b>
+<ul>
+<li><a href="test_plan.html#assertions">Assertions</a></li>
+<li><a href="../usermanual/component_reference.html#FTP_Request_Defaults">FTP Request Defaults</a>
+</li>
+<li><a href="build-ftp-test-plan.html">Building an FTP Test Plan</a></li>
+</ul>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="HTTP_Request">18.1.2 HTTP Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+
         
-												<p	>
-								This sampler lets you send an HTTP/HTTPS request to a web server.  It
+<p>
+This sampler lets you send an HTTP/HTTPS request to a web server.  It
         also lets you control whether or not JMeter parses HTML files for images and
         other embedded resources and sends HTTP requests to retrieve them.
         The following types of embedded resource are retrieved:
-						</p>
-									
+</p>
+
+        
+<ul>
+
+        
+<li>
+images
+</li>
+
+        
+<li>
+applets
+</li>
+
+        
+<li>
+stylesheets
+</li>
+
+        
+<li>
+external scripts
+</li>
+
+        
+<li>
+frames
+</li>
+
         
-												<ul	>
-								
+<li>
+background images (body, table, TD, TR)
+</li>
+
         
-												<li	>
-								images
-						</li>
-									
-        
-												<li	>
-								applets
-						</li>
-									
-        
-												<li	>
-								stylesheets
-						</li>
-									
-        
-												<li	>
-								external scripts
-						</li>
-									
-        
-												<li	>
-								frames
-						</li>
-									
-        
-												<li	>
-								background images (body, table, TD, TR)
-						</li>
-									
-        
-												<li	>
-								background sound
-						</li>
-									
+<li>
+background sound
+</li>
+
         
-						</ul>
-									
+</ul>
+
         
-												<p	>
-								
+<p>
+
         The default parser is htmlparser.
         This can be changed by using the property "htmlparser.classname" - see jmeter.properties for details.
         
-						</p>
-									
+</p>
+
         
-												<p	>
-								If you are going to send multiple requests to the same web server, consider
+<p>
+If you are going to send multiple requests to the same web server, consider
         using an 
-												<a href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP Request Defaults</a>
-									
+<a href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP Request Defaults</a>
+
         Configuration Element so you do not have to enter the same information for each
         HTTP Request.
-						</p>
-									
+</p>
+
 
         
-												<p	>
-								Or, instead of manually adding HTTP Requests, you may want to use
+<p>
+Or, instead of manually adding HTTP Requests, you may want to use
         JMeter's 
-												<a href="../usermanual/component_reference.html#HTTP_Proxy_Server">HTTP Proxy Server</a>
-									 to create
+<a href="../usermanual/component_reference.html#HTTP_Proxy_Server">HTTP Proxy Server</a>
+ to create
         them.  This can save you time if you have a lot of HTTP requests or requests with many
         parameters.
-						</p>
-									
+</p>
+
+
+        
+<p>
+<b>
+There are three versions of the sampler:
+</b>
+
+        
+<ul>
+
+        
+<li>
+HTTP Request - uses the default Java HTTP implementation
+</li>
 
         
-												<p	>
-												<b	>
-								There are three versions of the sampler:
-						</b>
-									
-        
-												<ul	>
-								
-        
-												<li	>
-								HTTP Request - uses the default Java HTTP implementation
-						</li>
-									
-        
-												<li	>
-								HTTP Request HTTPClient - uses Apache Commons HttpClient
-						</li>
-									
+<li>
+HTTP Request HTTPClient - uses Apache Commons HttpClient
+</li>
+
         
-												<li	>
-								AJP/1.3 Sampler - uses the Tomcat mod_jk protocol (allows testing of Tomcat in AJP mode without needing Apache httpd)
+<li>
+AJP/1.3 Sampler - uses the Tomcat mod_jk protocol (allows testing of Tomcat in AJP mode without needing Apache httpd)
         The AJP Sampler does not support multiple file upload; only the first file will be used.
         
-						</li>
-									
+</li>
+
         
-						</ul>
-									
+</ul>
+
          
-						</p>
-									
+</p>
+
          
-												<p	>
-								The default (Java) implementation has some limitations:
-						</p>
-									
+<p>
+The default (Java) implementation has some limitations:
+</p>
+
          
-												<ul	>
-								
+<ul>
+
          
-												<li	>
-								There is no control over how connections are re-used. 
+<li>
+There is no control over how connections are re-used. 
          When a connection is released by JMeter, it may or may not be re-used by the same thread.
-						</li>
-									
+</li>
+
          
-												<li	>
-								The API is best suited to single-threaded usage - various settings (e.g. proxy) 
+<li>
+The API is best suited to single-threaded usage - various settings (e.g. proxy) 
          are defined via system properties, and therefore apply to all connections.
-						</li>
-									
+</li>
+
          
-												<li	>
-								There is a bug in the handling of HTTPS via a Proxy (the CONNECT is not handled correctly).
+<li>
+There is a bug in the handling of HTTPS via a Proxy (the CONNECT is not handled correctly).
          See Java bugs 6226610 and 6208335.
          
-						</li>
-									
+</li>
+
          
-						</ul>
-									
+</ul>
+
          
-												<p	>
-								Note: the FILE protocol is intended for testing puposes only. 
+<p>
+Note: the FILE protocol is intended for testing puposes only. 
          It is handled by the same code regardless of which HTTP Sampler is used.
-						</p>
-									
+</p>
+
         
-												<p	>
-								If the request requires server or proxy login authorization (i.e. where a browser would create a pop-up dialog box),
+<p>
+If the request requires server or proxy login authorization (i.e. where a browser would create a pop-up dialog box),
          you will also have to add an 
-												<a href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP Authorization Manager</a>
-									 Configuration Element.
+<a href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP Authorization Manager</a>
+ Configuration Element.
          For normal logins (i.e. where the user enters login information in a form), you will need to work out what the form submit button does,
          and create an HTTP request with the appropriate method (usually POST) 
          and the appropriate parameters from the form definition. 
          If the page uses HTTP, you can use the JMeter Proxy to capture the login sequence.
         
-						</p>
-									
+</p>
+
         
-												<p	>
-								
+<p>
+
         In versions of JMeter up to 2.2, only a single SSL context was used for all threads and samplers.
         This did not generate the proper load for multiple users.
         A separate SSL context is now used for each thread.
         To revert to the original behaviour, set the JMeter property:
 
-												<pre	>
-								
+<pre>
+
 https.sessioncontext.shared=true
 
-						</pre>
-									
+</pre>
+
         
-						</p>
-									
+</p>
+
         
-												<p	>
-								
+<p>
+
         JMeter defaults to the SSL protocol level TLS.
         If the server needs a different level, e.g. SSLv3, change the JMeter property, for example:
 
-												<pre	>
-								
+<pre>
+
 https.default.protocol=SSLv3
 
-						</pre>
-									 
+</pre>
+ 
+        
+</p>
+
         
-						</p>
-									
+<p>
+
+        JMeter also allows one to enable additional protocols, by changing the property 
+<tt>
+https.socket.protocols
+</tt>
+.
+        
+</p>
+
         
-												<p	>
-								If the request uses cookies, then you will also need an
+<p>
+If the request uses cookies, then you will also need an
         
-												<a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie Manager</a>
-									.  You can
+<a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie Manager</a>
+.  You can
         add either of these elements to the Thread Group or the HTTP Request.  If you have
         more than one HTTP Request that needs authorizations or cookies, then add the
         elements to the Thread Group.  That way, all HTTP Request controllers will share the
         same Authorization Manager and Cookie Manager elements.
-						</p>
-									
+</p>
+
 
         
-												<p	>
-								If the request uses a technique called "URL Rewriting" to maintain sessions,
+<p>
+If the request uses a technique called "URL Rewriting" to maintain sessions,
         then see section
         
-												<a	 href="build-adv-web-test-plan.html#session_url_rewriting">
-								6.1 Handling User Sessions With URL Rewriting
-						</a>
-									
+<a href="build-adv-web-test-plan.html#session_url_rewriting">
+6.1 Handling User Sessions With URL Rewriting
+</a>
+
         for additional configuration steps.
-						</p>
-									
+</p>
+
 
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='682' height='619' src="../images/screenshots/webtest/http-request.png"></div>
-											  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this controller that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Server</td>
-			<td>						Domain name or IP address of the web server. e.g. www.example.com. [Do not include the http:// prefix.]
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Port</td>
-			<td>						Port the web server is listening to. Default: 80
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Protocol</td>
-			<td>						HTTP, HTTPS or FILE. Default: HTTP
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Method</td>
-			<td>						GET, POST, HEAD, TRACE, OPTIONS, PUT, DELETE
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Content Encoding</td>
-			<td>						Content encoding to be used (for POST and FILE)
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Redirect Automatically</td>
-			<td>						
+<p><b>Control Panel</b></p>
+<div align="center"><img width='730' height='618' src="../images/screenshots/webtest/http-request.png"></div>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this controller that is shown in the tree.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Server</td>
+<td>Domain name or IP address of the web server. e.g. www.example.com. [Do not include the http:// prefix.]
+</td>
+<td>
+Yes, unless provided by HTTP Request Defaults
+</td>
+</tr>
+<tr>
+<td>Port</td>
+<td>Port the web server is listening to. Default: 80
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Connect Timeout</td>
+<td>Connection Timeout. Number of milliseconds to wait for a connection to open. Requires Java 1.5 or later when using the default Java HTTP implementation.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Response Timeout</td>
+<td>Response Timeout. Number of milliseconds to wait for a response. Requires Java 1.5 or later when using the default Java HTTP implementation.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Protocol</td>
+<td>HTTP, HTTPS or FILE. Default: HTTP
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Method</td>
+<td>GET, POST, HEAD, TRACE, OPTIONS, PUT, DELETE
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Content Encoding</td>
+<td>Content encoding to be used (for POST and FILE)
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Redirect Automatically</td>
+<td>
 		Sets the underlying http protocol handler to automatically follow redirects,
 		so they are not seen by JMeter, and thus will not appear as samples.
 		Should only be used for GET and HEAD requests.
 		The HttpClient sampler will reject attempts to use it for POST or PUT.
 		
-												<b	>
-								Warning: see below for information on cookie and header handling.
-						</b>
-									
-        
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Follow Redirects</td>
-			<td>						
+<b>
+Warning: see below for information on cookie and header handling.
+</b>
+
+        
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Follow Redirects</td>
+<td>
 		This only has any effect if "Redirect Automatically" is not enabled.
 		If set, the JMeter sampler will check if the response is a redirect and follow it if so.
 		The redirect response will appear as an additional sample.
 		Note that the HttpClient sampler may log the following message:
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 		"Redirect requested but followRedirects is disabled"
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 		This can be ignored.
 		
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Use KeepAlive</td>
-			<td>						JMeter sets the Connection: keep-alive header. This does not work properly with the default HTTP implementation, as connection re-use is not under user-control. 
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Use KeepAlive</td>
+<td>JMeter sets the Connection: keep-alive header. This does not work properly with the default HTTP implementation, as connection re-use is not under user-control. 
                   It does work with the Jakarta httpClient implementation.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Use multipart/form-data for HTTP POST</td>
-			<td>						
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Use multipart/form-data for HTTP POST</td>
+<td>
         Use a multipart/form-data or application/x-www-form-urlencoded post request
         
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Path</td>
-			<td>						The path to resource (for example, /servlets/myServlet). If the
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Path</td>
+<td>The path to resource (for example, /servlets/myServlet). If the
 resource requires query string parameters, add them below in the
 "Send Parameters With the Request" section.
 
-												<b	>
-								
+<b>
+
 As a special case, if the path starts with "http://" or "https://" then this is used as the full URL.
 
-						</b>
-									
+</b>
+
 In this case, the server, port and protocol are ignored; parameters are also ignored for GET and DELETE methods.
 
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Send Parameters With the Request</td>
-			<td>						The query string will
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Send Parameters With the Request</td>
+<td>The query string will
         be generated from the list of parameters you provide.  Each parameter has a 
-												<i	>
-								name
-						</i>
-									 and
-        
-												<i	>
-								value
-						</i>
-									, the options to encode the parameter, and an option to include or exclude an equals sign (some applications
+<i>
+name
+</i>
+ and
+        
+<i>
+value
+</i>
+, the options to encode the parameter, and an option to include or exclude an equals sign (some applications
         don't expect an equals when the value is the empty string).  The query string will be generated in the correct fashion, depending on
         the choice of "Method" you made (ie if you chose GET or DELETE, the query string will be
         appended to the URL, if POST or PUT, then it will be sent separately).  Also, if you are
         sending a file using a multipart form, the query string will be created using the
         multipart form specifications.
         
-												<b	>
-								See below for some further information on parameter handling.
-						</b>
-									
+<b>
+See below for some further information on parameter handling.
+</b>
+
         
-												<p	>
-								
+<p>
+
         Additionally, you can specify whether each parameter should be URL encoded.  If you are not sure what this
         means, it is probably best to select it.  If your values contain characters such as &amp; or spaces, or
         question marks, then encoding is usually required.
-						</p>
-				</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>File Path:</td>
-			<td>						Name of the file to send.  If left blank, JMeter
+</p>
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>File Path:</td>
+<td>Name of the file to send.  If left blank, JMeter
         does not send a file, if filled in, JMeter automatically sends the request as
         a multipart form request.
         
-												<p	>
-								
+<p>
+
         If it is a POST or PUT request and there is a single file whose 'name' attribute (below) is omitted, 
         then the file is sent as the entire body
         of the request, i.e. no wrappers are added. This allows arbitrary bodies to be sent. This functionality is present for POST requests
         after version 2.2, and also for PUT requests after version 2.3.
         
-												<b	>
-								See below for some further information on parameter handling.
-						</b>
-									
-        
-						</p>
-									
-        
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Parameter name:</td>
-			<td>						Value of the "name" web request parameter.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>MIME Type</td>
-			<td>						MIME type (for example, text/plain).
+<b>
+See below for some further information on parameter handling.
+</b>
+
+        
+</p>
+
+        
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Parameter name:</td>
+<td>Value of the "name" web request parameter.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>MIME Type</td>
+<td>MIME type (for example, text/plain).
         If it is a POST or PUT request and either the 'name' atribute (below) are omitted or the request body is
         constructed from parameter values only, then the value of this field is used as the value of the
         content-type request header.
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Retrieve All Embedded Resources from HTML Files</td>
-			<td>						Tell JMeter to parse the HTML file
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Retrieve All Embedded Resources from HTML Files</td>
+<td>Tell JMeter to parse the HTML file
 and send HTTP/HTTPS requests for all images, Java applets, JavaScript files, CSSs, etc. referenced in the file.
         See below for more details.
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Use as monitor</td>
-			<td>						For use with the 
-												<a href="../usermanual/component_reference.html#Monitor_Results">Monitor Results</a>
-									 listener.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Save response as MD5 hash?</td>
-			<td>						
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Use as monitor</td>
+<td>For use with the 
+<a href="../usermanual/component_reference.html#Monitor_Results">Monitor Results</a>
+ listener.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Save response as MD5 hash?</td>
+<td>
        If this is selected, then the response is not stored in the sample result.
        Instead, the 32 character MD5 hash of the data is calculated and stored instead.
        This is intended for testing large amounts of data.
        
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Embedded URLs must match:</td>
-			<td>						
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Embedded URLs must match:</td>
+<td>
         If present, this must be a regular expression that is used to match against any embedded URLs found.
         So if you only want to download embedded resources from http://example.com/, use the expression:
         http://example\.com/.*
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-		</table>
-	</p>
-							  									 				<p	>
-								
-
-												<b	>
-								N.B.
-						</b>
-									 when using Automatic Redirection, cookies are only sent for the initial URL.
+</td>
+<td>
+No
+</td>
+</tr>
+</table>
+</p>
+<p>
+
+
+<b>
+N.B.
+</b>
+ when using Automatic Redirection, cookies are only sent for the initial URL.
 This can cause unexpected behaviour for web-sites that redirect to a local server.
 E.g. if www.example.com redirects to www.example.co.uk.
 In this case the server will probably return cookies for both URLs, but JMeter will only see the cookies for the last
@@ -921,216 +949,284 @@
 This is generally only a problem for manually created test plans,
 as a test plan created using a recorder would continue from the redirected URL.
 
-						</p>
-							  									 				<p	>
-								
-
-												<b	>
-								Parameter Handling:
-						</b>
-													<br	>
-						</br>
-									
+</p>
+<p>
+
+
+<b>
+Parameter Handling:
+</b>
+<br>
+</br>
+
 For the POST and PUT method, if there is no file to send, and the name(s) of the parameter(s) are omitted,
 then the body is created by concatenating all the value(s) of the parameters.
 This allows arbitrary bodies to be sent.
 The values are encoded if the encoding flag is set (versions of JMeter after 2.3).
 See also the MIME Type above how you can control the content-type request header that is sent.
 
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 For other methods, if the name of the parameter is missing,
 then the parameter is ignored. This allows the use of optional parameters defined by variables.
 (versions of JMeter after 2.3)
 
-						</p>
-							  									 				<p	>
-								
-
-												<b	>
-								Method Handling:
-						</b>
-													<br	>
-						</br>
-									
+</p>
+<p>
+
+
+<b>
+Method Handling:
+</b>
+<br>
+</br>
+
 The POST and PUT request methods work similarly, except that the PUT method does not support multipart requests.
-The GET and DELETE request methods work similarly.
+The PUT method body must be provided as one of the following:
+
+<ul>
+
+
+<li>
+define the body as a file
+</li>
+
+
+<li>
+define the body as parameter value(s) with no name
+</li>
 
-						</p>
-							  									 				<p	>
-								Upto and including JMeter 2.1.1, only responses with the content-type "text/html" were scanned for
+
+</ul>
+
+If you define any parameters with a name in either the sampler or Http
+defaults then nothing is sent.
+The GET and DELETE request methods work similarly to each other.
+
+</p>
+<p>
+Upto and including JMeter 2.1.1, only responses with the content-type "text/html" were scanned for
 embedded resources. Other content-types were assumed to be something other than HTML.
 JMeter 2.1.2 introduces the a new property 
-												<b	>
-								HTTPResponse.parsers
-						</b>
-									, which is a list of parser ids,
+<b>
+HTTPResponse.parsers
+</b>
+, which is a list of parser ids,
  e.g. 
-												<b	>
-								htmlParser
-						</b>
-									 and 
-												<b	>
-								wmlParser
-						</b>
-									. For each id found, JMeter checks two further properties:
-						</p>
-							  									 				<ul	>
-								
- 
-												<li	>
-								id.types - a list of content types
-						</li>
-									
- 
-												<li	>
-								id.className - the parser to be used to extract the embedded resources
-						</li>
-									
- 
-						</ul>
-							  									 				<p	>
-								See jmeter.properties file for the details of the settings. 
+<b>
+htmlParser
+</b>
+ and 
+<b>
+wmlParser
+</b>
+. For each id found, JMeter checks two further properties:
+</p>
+<ul>
+
+ 
+<li>
+id.types - a list of content types
+</li>
+
+ 
+<li>
+id.className - the parser to be used to extract the embedded resources
+</li>
+
+ 
+</ul>
+<p>
+See jmeter.properties file for the details of the settings. 
  If the HTTPResponse.parser property is not set, JMeter reverts to the previous behaviour,
  i.e. only text/html responses will be scanned
-						</p>
-							  									 			 	<p><b>See Also:</b>
-	<ul>
-						<li><a href="test_plan.html#assertions">Assertion</a></li>
-								<li><a href="build-web-test-plan.html">Building a Web Test Plan</a></li>
-								<li><a href="build-adv-web-test-plan.html">Building an Advanced Web Test Plan</a></li>
-								<li>	<a href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP Authorization Manager</a>
-</li>
-								<li>	<a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie Manager</a>
-</li>
-								<li>	<a href="../usermanual/component_reference.html#HTTP_Header_Manager">HTTP Header Manager</a>
-</li>
-								<li>	<a href="../usermanual/component_reference.html#HTML_Link_Parser">HTML Link Parser</a>
-</li>
-								<li>	<a href="../usermanual/component_reference.html#HTTP_Proxy_Server">HTTP Proxy Server</a>
-</li>
-								<li>	<a href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP Request Defaults</a>
-</li>
-								<li><a href="build-adv-web-test-plan.html#session_url_rewriting">HTTP Requests and Session ID's: URL Rewriting</a></li>
-				</ul>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="JDBC_Request">18.1.3 JDBC Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  																			<p	>
-								This sampler lets you send an JDBC Request (an SQL query) to a database.
-						</p>
-									
-
-												<p	>
-								Before using this you need to set up a
-
-												<a href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC Connection Configuration</a>
-									 Configuration element
-
-						</p>
-															<p><b>Control Panel</b></p>
-						<div align="center"><img width='449' height='335' src="../images/screenshots/jdbctest/jdbc-request.png"></div>
-											  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this controller that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Variable Name</td>
-			<td>						
+</p>
+<b>
+Emulating slow connections:
+</b>
+<br>
+</br>
+<pre>
+
+# Define characters per second > 0 to emulate slow connections
+#httpclient.socket.http.cps=0
+#httpclient.socket.https.cps=0
+
+</pre>
+<p><b>See Also:</b>
+<ul>
+<li><a href="test_plan.html#assertions">Assertion</a></li>
+<li><a href="build-web-test-plan.html">Building a Web Test Plan</a></li>
+<li><a href="build-adv-web-test-plan.html">Building an Advanced Web Test Plan</a></li>
+<li><a href="../usermanual/component_reference.html#HTTP_Authorization_Manager">HTTP Authorization Manager</a>
+</li>
+<li><a href="../usermanual/component_reference.html#HTTP_Cookie_Manager">HTTP Cookie Manager</a>
+</li>
+<li><a href="../usermanual/component_reference.html#HTTP_Header_Manager">HTTP Header Manager</a>
+</li>
+<li><a href="../usermanual/component_reference.html#HTML_Link_Parser">HTML Link Parser</a>
+</li>
+<li><a href="../usermanual/component_reference.html#HTTP_Proxy_Server">HTTP Proxy Server</a>
+</li>
+<li><a href="../usermanual/component_reference.html#HTTP_Request_Defaults">HTTP Request Defaults</a>
+</li>
+<li><a href="build-adv-web-test-plan.html#session_url_rewriting">HTTP Requests and Session ID's: URL Rewriting</a></li>
+</ul>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="JDBC_Request">18.1.3 JDBC Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+<p>
+This sampler lets you send an JDBC Request (an SQL query) to a database.
+</p>
+
+
+<p>
+Before using this you need to set up a
+
+<a href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC Connection Configuration</a>
+ Configuration element
+
+</p>
+
+
+<p>
+
+If the Variable Names list is provided, then for each row returned by a Select statement, the variables are set up
+with the value of the corresponding column (if a variable name is provided), and the count of rows is also set up.
+For example, if the Select statement returns 2 rows of 3 columns, and the variable list is 
+<code>
+A,,C
+</code>
+,
+then the following variables will be set up:
+
+<pre>
+
+A_#=2 (number of rows)
+A_1=column 1, row 1
+A_2=column 1, row 2
+C_#=2 (number of rows)
+C_1=column 3, row 1
+C_2=column 3, row 2
+
+</pre>
+
+If the Select statement returns zero rows, then the A_# and C_# variables would be set to 0, and no other variables would be set.
+
+</p>
+
+
+<p>
+
+Old variables are cleared if necessary - e.g. if the first select retrieves 6 rows and a second select returns only 3 rows,
+the additional variables for rows 4, 5 and 6 will be removed.
+
+</p>
+
+
+<p><b>Control Panel</b></p>
+<div align="center"><img width='427' height='334' src="../images/screenshots/jdbctest/jdbc-request.png"></div>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this controller that is shown in the tree.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Variable Name</td>
+<td>
 		Name of the JMeter variable that the connection pool is bound to.
 		This must agree with the 'Variable Name' field of a JDBC Connection Configuration.
 		
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Query Type</td>
-			<td>						Set this according to the statement type:
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Query Type</td>
+<td>Set this according to the statement type:
 		    
-												<ul	>
-								
+<ul>
+
 		    
-												<li	>
-								Select Statement
-						</li>
-									
+<li>
+Select Statement
+</li>
+
 		    
-												<li	>
-								Update Statement - use this for Inserts as well
-						</li>
-									
+<li>
+Update Statement - use this for Inserts as well
+</li>
+
 		    
-												<li	>
-								Callable Statement
-						</li>
-									
+<li>
+Callable Statement
+</li>
+
 		    
-												<li	>
-								Prepared Select Statement
-						</li>
-									
+<li>
+Prepared Select Statement
+</li>
+
 		    
-												<li	>
-								Prepared Update Statement - use this for Inserts as well
-						</li>
-									
+<li>
+Prepared Update Statement - use this for Inserts as well
+</li>
+
 		    
-												<li	>
-								Commit
-						</li>
-									
+<li>
+Commit
+</li>
+
 		    
-												<li	>
-								Rollback
-						</li>
-									
+<li>
+Rollback
+</li>
+
 		    
-												<li	>
-								Autocommit(false)
-						</li>
-									
+<li>
+Autocommit(false)
+</li>
+
 		    
-												<li	>
-								Autocommit(true)
-						</li>
-									
+<li>
+Autocommit(true)
+</li>
+
 		    
-												<li	>
-								Edit - this should be a variable reference that evaluates to one of the above
-						</li>
-									
+<li>
+Edit - this should be a variable reference that evaluates to one of the above
+</li>
+
 		    
-						</ul>
-									
+</ul>
+
 		
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>SQL Query</td>
-			<td>						
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>SQL Query</td>
+<td>
         SQL query.
         Do not enter a trailing semi-colon.
         There is generally no need to use { and } to enclose Callable statements;
@@ -1138,286 +1234,325 @@
         [The JDBC driver automatically converts the statement if necessary when it is enclosed in {}].
         For example:
         
-												<ul	>
-								
+<ul>
+
+        
+<li>
+select * from t_customers where id=23
+</li>
+
+        
+<li>
+CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null,?, ?, null, null, null)
+        
+<ul>
+
+        
+<li>
+Parameter values: tablename,filename
+</li>
+
         
-												<li	>
-								select * from t_customers where id=23
-						</li>
-									
-        
-												<li	>
-								CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null,?, ?, null, null, null)
-        
-												<ul	>
-								
-        
-												<li	>
-								Parameter values: tablename,filename
-						</li>
-									
-        
-												<li	>
-								Parameter types:  VARCHAR,VARCHAR
-						</li>
-									
+<li>
+Parameter types:  VARCHAR,VARCHAR
+</li>
+
         
-						</ul>
-									
+</ul>
+
         
-						</li>
-									
+</li>
+
         The second example assumes you are using Apache Derby.
         
-						</ul>
-									
+</ul>
+
         
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Parameter values</td>
-			<td>						
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Parameter values</td>
+<td>
         Comma-separated list of parameter values. Use ]NULL[ to indicate a NULL parameter.
         (If required, the null string can be changed by defining the property "jdbcsampler.nullmarker".)
         
-												<br	>
-						</br>
-									
+<br>
+</br>
+
+        The list must be enclosed in double-quotes if any of the values contain a comma or double-quote,
+        and any embedded double-quotes must be doubled-up, for example:
+        
+<pre>
+"Dbl-Quote: "" and Comma: ,"
+</pre>
+
         There must be as many values as there are placeholders in the statement.
         
-			</td>
-			<td>
-											Yes, if a prepared or callable statement has parameters
-								</td>
-		</tr>
-			<tr>
-			<td>Parameter types</td>
-			<td>						
+</td>
+<td>
+Yes, if a prepared or callable statement has parameters
+</td>
+</tr>
+<tr>
+<td>Parameter types</td>
+<td>
         Comma-separated list of SQL parameter types (e.g. INTEGER, DATE, VARCHAR, DOUBLE).
+        These are defined as fields in the class java.sql.Types, see for example:
+        
+<a href="http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Types.html">
+Javadoc for java.sql.Types
+</a>
+.
+        [Note: JMeter will use whatever types are defined by the runtime JVM, 
+        so if you are running on a different JVM, be sure to check the appropriate document]
         If the callable statement has INOUT or OUT parameters, then these must be indicated by prefixing the
         appropriate parameter types, e.g. instead of "INTEGER", use "INOUT INTEGER".
         If not specified, "IN" is assumed, i.e. "DATE" is the same as "IN DATE".
         
-												<br	>
-						</br>
-									
-        There must be as many values as there are placeholders in the statement.
+<br>
+</br>
+
+        If the type is not one of the fields found in java.sql.Types, versions of JMeter after 2.3.2 also
+        accept the corresponding integer number, e.g. since INTEGER == 4, you can use "INOUT 4".
         
-			</td>
-			<td>
-											Yes, if a prepared or callable statement has parameters
-								</td>
-		</tr>
-		</table>
-	</p>
-							  									 			 	<p><b>See Also:</b>
-	<ul>
-						<li><a href="build-db-test-plan.html">Building a Database Test Plan</a></li>
-								<li>	<a href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC Connection Configuration</a>
-</li>
-				</ul>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="Java_Request">18.1.4 Java Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  																			<p	>
-								This sampler lets you control a java class that implements the
+<br>
+</br>
+
+        There must be as many types as there are placeholders in the statement.
+        
+</td>
+<td>
+Yes, if a prepared or callable statement has parameters
+</td>
+</tr>
+<tr>
+<td>Variable Names</td>
+<td>Comma-separated list of variable names to hold values returned by Select statements
+</td>
+<td>
+No
+</td>
+</tr>
+</table>
+</p>
+<p><b>See Also:</b>
+<ul>
+<li><a href="build-db-test-plan.html">Building a Database Test Plan</a></li>
+<li><a href="../usermanual/component_reference.html#JDBC_Connection_Configuration">JDBC Connection Configuration</a>
+</li>
+</ul>
+</p>
+<p>
+<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
+<tr><td>Versions of JMeter after 2.3.2 use UTF-8 as the character encoding. Previously the platform default was used.
+</td></tr>
+</table>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="Java_Request">18.1.4 Java Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+<p>
+This sampler lets you control a java class that implements the
 JavaSamplerClient interface.  By writing your own implementation of this interface,
 you can use JMeter to harness multiple threads, input parameter control, and
 data collection.
-						</p>
-									
+</p>
 
-												<p	>
-								The pull-down menu provides the list of all such implementations found by
+
+<p>
+The pull-down menu provides the list of all such implementations found by
 JMeter in its classpath.  The parameters can then be specified in the
 table below - as defined by your implementation.  Two simple examples (JavaTest and SleepTest) are provided.
 
-						</p>
-									
+</p>
+
+
+<p>
 
-												<p	>
-								
 The JavaTest example sampler can be useful for checking test plans, because it allows one to set
 values in almost all the fields. These can then be used by Assertions, etc.
 The fields allow variables to be used, so the values of these can readily be seen.
 
-						</p>
-									
+</p>
+
 
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='406' height='307' src="../images/screenshots/java_request.png"></div>
-											  									 				<p><table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
-		<tr><td>						The Add/Delete buttons don't serve any purpose at present.
-			</td></tr>
-	</table></p>
-							  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this sampler
+<p><b>Control Panel</b></p>
+<div align="center"><img width='406' height='307' src="../images/screenshots/java_request.png"></div>
+<p>
+<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
+<tr><td>The Add/Delete buttons don't serve any purpose at present.
+</td></tr>
+</table>
+</p>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this sampler
          that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Classname</td>
-			<td>						The specific implementation of
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Classname</td>
+<td>The specific implementation of
         the JavaSamplerClient interface to be sampled.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Send Parameters with Request</td>
-			<td>						A list of
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Send Parameters with Request</td>
+<td>A list of
         arguments that will be passed to the sampled class.  All arguments
         are sent as Strings.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-		</table>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 				<p	>
-								The sleep time is calculated as follows:
-						</p>
-							  									 				<pre	>
-								
+</td>
+<td>
+No
+</td>
+</tr>
+</table>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<p>
+The sleep time is calculated as follows:
+</p>
+<pre>
+
 SleepTime is in milliseconds
 SleepMask is used to add a "random" element to the time:
 totalSleepTime = SleepTime + (System.currentTimeMillis() % SleepMask)
 
-						</pre>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="SOAP/XML-RPC_Request">18.1.5 SOAP/XML-RPC Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  																			<p	>
-								This sampler lets you send a SOAP request to a webservice.  It can also be
+</pre>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="SOAP/XML-RPC_Request">18.1.5 SOAP/XML-RPC Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+<p>
+This sampler lets you send a SOAP request to a webservice.  It can also be
 used to send XML-RPC over HTTP.  It creates an HTTP POST request, with the specified XML as the
 POST content. 
-To change the "Content-type" from the default of "text/html", use a HeaderManager. 
+To change the "Content-type" from the default of "text/xml", use a HeaderManager. 
 Note that the sampler will use all the headers from the HeaderManager.
 If a SOAP action is specified, that will override any SOAPaction in the HeaderManager.
 The primary difference between the soap sampler and
 webservice sampler, is the soap sampler uses raw post and does not require conformance to
-XML.
-						</p>
-									
-
-												<p><table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
-		<tr><td>						For versions of JMeter later than 2.2, the sampler no longer uses chunked encoding by default.
-												<br	>
-						</br>
-									
+SOAP 1.1.
+</p>
+
+
+<p>
+<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
+<tr><td>For versions of JMeter later than 2.2, the sampler no longer uses chunked encoding by default.
+<br>
+</br>
+
 For screen input, it now always uses the size of the data.
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 File input uses the file length as determined by Java.
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 On some OSes this may not work for all files, in which case add a child Header Manager
 with Content-Length set to the actual length of the file.
-												<br	>
-						</br>
-									
+<br>
+</br>
+
 Or set Content-Length to -1 to force chunked encoding.
 
-			</td></tr>
-	</table></p>
-									
-
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='474' height='236' src="../images/screenshots/soap_sampler.png"></div>
-											  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this sampler
+</td></tr>
+</table>
+</p>
+
+
+<p><b>Control Panel</b></p>
+<div align="center"><img width='474' height='236' src="../images/screenshots/soap_sampler.png"></div>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this sampler
          that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>URL</td>
-			<td>						The URL to direct the SOAP request to.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Send SOAP action</td>
-			<td>						Send a SOAP action header? (overrides the Header Manager)
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Soap/XML-RPC Data</td>
-			<td>						The Soap XML message, or XML-RPC instructions.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>URL</td>
+<td>The URL to direct the SOAP request to.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Send SOAP action</td>
+<td>Send a SOAP action header? (overrides the Header Manager)
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Soap/XML-RPC Data</td>
+<td>The Soap XML message, or XML-RPC instructions.
         Not used if the filename is provided.
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Filename</td>
-			<td>						If specified, then the contents of the file are sent, and the Data field is ignored
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-		</table>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="WebService(SOAP)_Request">18.1.6 WebService(SOAP) Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  																			<p	>
-								This sampler has been tested with IIS Webservice running .NET 1.0 and .NET 1.1.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Filename</td>
+<td>If specified, then the contents of the file are sent, and the Data field is ignored
+</td>
+<td>
+No
+</td>
+</tr>
+</table>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="WebService(SOAP)_Request">18.1.6 WebService(SOAP) Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+<p>
+This sampler has been tested with IIS Webservice running .NET 1.0 and .NET 1.1.
  It has been tested with SUN JWSDP, IBM webservices, Axis and gSoap toolkit for C/C++.
  The sampler uses Apache SOAP driver to serialize the message and set the header
  with the correct SOAPAction. Right now the sampler doesn't support automatic WSDL
@@ -1430,50 +1565,53 @@
  paste the message in to text area, it will not retain the encoding and will result
  in errors. Save your message to a file with the proper encoding, and the sampler
  will read it as java.io.FileInputStream.
-						</p>
-									
+</p>
+
  
-												<p	>
-								The sampler requires mail.jar and activation.jar. This is because Apache SOAP
+<p>
+<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
+<tr><td>The sampler requires mail.jar and activation.jar. This is because Apache SOAP
  requires the libs. Because mail.jar and activation.jar are distributed by Sun,
- you have to download it separately.
-						</p>
-									
- 
-												<p	>
-								An important note on the sampler is it will automatically use the proxy host
- and port passed to JMeter from command line, if thoe fields in the sampler are
+ you have to download them separately.
+</td></tr>
+</table>
+</p>
+
+ 
+<p>
+An important note on the sampler is it will automatically use the proxy host
+ and port passed to JMeter from command line, if those fields in the sampler are
  left blank. If a sampler has values in the proxy host and port text field, it
  will use the ones provided by the user. This behavior may not be what users
  expect.
-						</p>
-									
+</p>
+
  
-												<p	>
-								By default, the webservice sampler sets SOAPHTTPConnection.setMaintainSession
+<p>
+By default, the webservice sampler sets SOAPHTTPConnection.setMaintainSession
  (true). If you need to maintain the session, add a blank Header Manager. The
  sampler uses the Header Manager to store the SOAPHTTPConnection object, since
- there apache soap does provide a easy way to get and set the cookies.
-						</p>
-									
- 
-												<p	>
-												<b	>
-								Note:
-						</b>
-									 If you are using CSVDataSet, do not check "Memory Cache". If memory
+ the version of apache soap does not provide a easy way to get and set the cookies.
+</p>
+
+ 
+<p>
+<b>
+Note:
+</b>
+ If you are using CSVDataSet, do not check "Memory Cache". If memory
  cache is checked, it will not iterate to the next value. That means all the requests
  will use the first value.
-						</p>
-									
+</p>
+
  
-												<p	>
-								Make sure you use &lt;soap:Envelope rather than &lt;Envelope. For example:
-						</p>
-									
+<p>
+Make sure you use &lt;soap:Envelope rather than &lt;Envelope. For example:
+</p>
+
  
-												<pre	>
-								
+<pre>
+
 &lt;?xml version="1.0" encoding="utf-8"?>
 &lt;soap:Envelope 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -1484,1047 +1622,1059 @@
 &lt;/soap:Body>
 &lt;/soap:Envelope>
 
-						</pre>
-									
+</pre>
 
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='536' height='934' src="../images/screenshots/webservice_sampler.png"></div>
-											  									 			 <p>
-	<b>Parameters</b>
-	<table border="1" cellspacing="0" cellpadding="2">
-	<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
-			<tr>
-			<td>Name</td>
-			<td>						Descriptive name for this sampler
+
+<p>
+<table border="1" bgcolor="#bbbb00" width="50%" cellspacing="0" cellpadding="2">
+<tr><td>The SOAP library that is used does not support SOAP 1.2, only SOAP 1.1. 
+Also the library does not provide access to the HTTP response code (e.g. 200) or message (e.g. OK). 
+To get round this, versions of JMeter after 2.3.2 check the returned message length.
+If this is zero, then the request is marked as failed.
+
+</td></tr>
+</table>
+</p>
+
+
+<p><b>Control Panel</b></p>
+<div align="center"><img width='536' height='934' src="../images/screenshots/webservice_sampler.png"></div>
+<p>
+<b>Parameters</b>
+<table border="1" cellspacing="0" cellpadding="2">
+<tr><th>Attribute</th><th>Description</th><th>Required</th></tr>
+<tr>
+<td>Name</td>
+<td>Descriptive name for this sampler
          that is shown in the tree.
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>WSDL URL</td>
-			<td>						The WSDL URL with the service description.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>WSDL URL</td>
+<td>The WSDL URL with the service description.
         Versions of JMeter after 2.3.1 support the file: protocol for local WSDL files.
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Web Methods</td>
-			<td>						Will be populated from the WSDL when the Load WSDL button is pressed.
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Web Methods</td>
+<td>Will be populated from the WSDL when the Load WSDL button is pressed.
         Select one of the methods and press the Configure button to populate the Protocol, Server, Port, Path and SOAPAction fields. 
         
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Protocol</td>
-			<td>						HTTP or HTTPS are acceptable protocol.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Server Name or IP</td>
-			<td>						The hostname or IP address.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Port Number</td>
-			<td>						Port Number.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Path</td>
-			<td>						Path for the webservice.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>SOAPAction</td>
-			<td>						The SOAPAction defined in the webservice description or WSDL.
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Soap/XML-RPC Data</td>
-			<td>						The Soap XML message
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Soap file</td>
-			<td>						File containing soap message
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Message Folder</td>
-			<td>						Folder containing soap files
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Memory cache</td>
-			<td>						
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Protocol</td>
+<td>HTTP or HTTPS are acceptable protocol.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Server Name or IP</td>
+<td>The hostname or IP address.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Port Number</td>
+<td>Port Number.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Path</td>
+<td>Path for the webservice.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>SOAPAction</td>
+<td>The SOAPAction defined in the webservice description or WSDL.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Soap/XML-RPC Data</td>
+<td>The Soap XML message
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Soap file</td>
+<td>File containing soap message
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Message Folder</td>
+<td>Folder containing soap files
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Memory cache</td>
+<td>
         When using external files, setting this causes the file to be processed once and caches the result.
         This may use a lot of memory if there are many different large files.
         
-			</td>
-			<td>
-											Yes
-								</td>
-		</tr>
-			<tr>
-			<td>Use HTTP Proxy</td>
-			<td>						Check box if http proxy should be used
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Proxy Host</td>
-			<td>						Proxy hostname
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-			<tr>
-			<td>Proxy Port</td>
-			<td>						Proxy host port
-			</td>
-			<td>
-											No
-								</td>
-		</tr>
-		</table>
-	</p>
-							  		</td></tr>
-		<tr><td><br></td></tr>
-	 </table>
-	<hr>
-							  									 						<table border="0" cellspacing="0" cellpadding="2">
-		<tr><td>
-		  <font face="arial,helvetica,sanserif">
-			 <h3><a name="LDAP_Request">18.1.7 LDAP Request</h3></a>
-		  </font>
-		</td></tr>
-				<tr><td>
-		  															This Sampler lets you send a different Ldap request(Add, Modify, Delete and Search) to an LDAP server.
+</td>
+<td>
+Yes
+</td>
+</tr>
+<tr>
+<td>Use HTTP Proxy</td>
+<td>Check box if http proxy should be used
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Proxy Host</td>
+<td>Proxy hostname
+</td>
+<td>
+No
+</td>
+</tr>
+<tr>
+<td>Proxy Port</td>
+<td>Proxy host port
+</td>
+<td>
+No
+</td>
+</tr>
+</table>
+</p>
+</td></tr>
+<tr><td><br></td></tr>
+</table>
+<hr>
+<table border="0" cellspacing="0" cellpadding="2">
+<tr><td>
+<font face="arial,helvetica,sanserif">
+<h3><a name="LDAP_Request">18.1.7 LDAP Request</h3></a>
+</font>
+</td></tr>
+<tr><td>
+This Sampler lets you send a different Ldap request(Add, Modify, Delete and Search) to an LDAP server.
     
-												<p	>
-								If you are going to send multiple requests to the same LDAP server, consider
+<p>
+If you are going to send multiple requests to the same LDAP server, consider
       using an 
-												<a href="../usermanual/component_reference.html#LDAP_Request_Defaults">LDAP Request Defaults</a>
-									
+<a href="../usermanual/component_reference.html#LDAP_Request_Defaults">LDAP Request Defaults</a>
+
       Configuration Element so you do not have to enter the same information for each
       LDAP Request.
-						</p>
-									 The same way the 
-												<a href="../usermanual/component_reference.html#Login_Config_Element">Login Config Element</a>
-									 also using for Login and password.
+</p>
+ The same way the 
+<a href="../usermanual/component_reference.html#Login_Config_Element">Login Config Element</a>
+ also using for Login and password.
   
-														<p><b>Control Panel</b></p>
-						<div align="center"><img width='505' height='476' src="../images/screenshots/ldap_request.png"></div>
-											  									 				<p	>
-								There are two ways to create test cases for testing an LDAP Server.
-						</p>
-							  									 				<ol	>
-												<li	>
-								Inbuilt Test cases.
-						</li>
-									
-    
-												<li	>
-								User defined Test cases.
-						</li>
-							</ol>
-							  									 				<p	>
-								There are four test scenarios of testing LDAP. The tests are given below:
-						</p>
-							  									 				<ol	>
-								
+<p><b>Control Panel</b></p>
+<div align="center"><img width='505' height='476' src="../images/screenshots/ldap_request.png"></div>
+<p>
+There are two ways to create test cases for testing an LDAP Server.
+</p>
+<ol>
+<li>
+Inbuilt Test cases.
+</li>
+
+    
+<li>
+User defined Test cases.
+</li>
+</ol>
+<p>
+There are four test scenarios of testing LDAP. The tests are given below:
+</p>
+<ol>
+
       
-												<li	>
-								Add Test
-						</li>
-									
+<li>
+Add Test
+</li>
+
       
-												<ol	>
-												<li	>
-								Inbuilt test :
+<ol>
+<li>
+Inbuilt test :
         
-												<p	>
-								This will add a pre-defined entry in the LDAP Server and calculate
+<p>
+This will add a pre-defined entry in the LDAP Server and calculate
           the execution time. After execution of the test, the created entry will be
           deleted from the LDAP
           Server.
-						</p>
-							</li>
-									
+</p>
+</li>
+
           
-												<li	>
-								User defined test :
+<li>
+User defined test :
             
-												<p	>
-								This will add the entry in the LDAP Server. User has to enter all the
+<p>
+This will add the entry in the LDAP Server. User has to enter all the
               attributes in the table.The entries are collected from the table to add. The
               execution time is calculated. The created entry will not be deleted after the
               test.
-						</p>
-							</li>
-							</ol>
-									
+</p>
+</li>
+</ol>
+
 
               
-												<li	>
-								Modify Test
-						</li>
-									
+<li>
+Modify Test
+</li>
+
               
-												<ol	>
-												<li	>
-								Inbuilt test :
+<ol>
+<li>
+Inbuilt test :
                 
-												<p	>
-								This will create a pre-defined entry first, then will modify the
+<p>
+This will create a pre-defined entry first, then will modify the
                   created	entry in the LDAP Server.And calculate the execution time. After
                   execution
                   of the test, the created entry will be deleted from the LDAP Server.
-						</p>
-							</li>
-									
+</p>
+</li>
+
                   
-												<li	>
-								User defined test
+<li>
+User defined test
                     
-												<p	>
-								This will modify the entry in the LDAP Server. User has to enter all the
+<p>
+This will modify the entry in the LDAP Server. User has to enter all the
                       attributes in the table. The entries are collected from the table to modify.
                       The execution time is calculated. The entry will not be deleted from the LDAP
                       Server.
-						</p>
-							</li>
-							</ol>
-									
+</p>
+</li>
+</ol>
+
 
                       
-												<li	>
-								Search Test
-						</li>
-									
+<li>
+Search Test
+</li>
+
                       
-												<ol	>
-												<li	>
-								Inbuilt test :
+<ol>
+<li>
+Inbuilt test :
                         
-												<p	>
-								This will create the entry first, then will search if the attributes
+<p>
+This will create the entry first, then will search if the attributes

[... 21925 lines stripped ...]


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org