<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en">
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<title>Apache JMeter
          -
          User's Manual: Building a SOAP WebService Test Plan</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://fonts.googleapis.com/css?family=Merriweather:400normal" rel="stylesheet" type="text/css">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="../css/new-style.css">
<link rel="apple-touch-icon-precomposed" href="../images/apple-touch-icon.png">
<link rel="icon" href="../images/favicon.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="../images/mstile-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body role="document">
<a href="#content" class="hidden">Main content</a>
<div class="header">
<!--
            APACHE LOGO
          -->
<div>
<a href="https://www.apache.org"><img title="Apache Software Foundation" class="asf-logo logo" src="../images/asf-logo.svg" alt="Logo ASF"></a>
</div>
<!--
              PROJECT LOGO
            -->
<div>
<a href="https://jmeter.apache.org/"><img class="logo" src="../images/logo.svg" alt="Apache JMeter"></a>
</div>
<div class="banner">
<a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-234x60.png" alt="Current Apache event teaser"></a>
<div class="clear"></div>
</div>
</div>
<div class="nav">
<ul class="menu">
<li onClick="return true">
<div class="menu-title">About</div>
<ul>
<li>
<a href="../index.html">Overview</a>
</li>
<li>
<a href="https://www.apache.org/licenses/">License</a>
</li>
</ul>
</li>
</ul>
<ul class="menu">
<li onClick="return true">
<div class="menu-title">Download</div>
<ul>
<li>
<a href="../download_jmeter.cgi">Download Releases</a>
</li>
<li>
<a href="../changes.html">Release Notes</a>
</li>
</ul>
</li>
</ul>
<ul class="menu">
<li onClick="return true">
<div class="menu-title">Documentation</div>
<ul>
<li>
<a href="../usermanual/get-started.html">Get Started</a>
</li>
<li>
<a href="../usermanual/index.html">User Manual</a>
</li>
<li>
<a href="../usermanual/best-practices.html">Best Practices</a>
</li>
<li>
<a href="../usermanual/component_reference.html">Component Reference</a>
</li>
<li>
<a href="../usermanual/functions.html">Functions Reference</a>
</li>
<li>
<a href="../usermanual/properties_reference.html">Properties Reference</a>
</li>
<li>
<a href="../changes_history.html">Change History</a>
</li>
<li>
<a href="../api/index.html">Javadocs</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/JMETER/Home">JMeter Wiki</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/JMETER/JMeterFAQ">FAQ (Wiki)</a>
</li>
</ul>
</li>
</ul>
<ul class="menu">
<li onClick="return true">
<div class="menu-title">Tutorials</div>
<ul>
<li>
<a href="../usermanual/jmeter_distributed_testing_step_by_step.html">Distributed Testing</a>
</li>
<li>
<a href="../usermanual/jmeter_proxy_step_by_step.html">Recording Tests</a>
</li>
<li>
<a href="../usermanual/junitsampler_tutorial.html">JUnit Sampler</a>
</li>
<li>
<a href="../usermanual/jmeter_accesslog_sampler_step_by_step.html">Access Log Sampler</a>
</li>
<li>
<a href="../usermanual/jmeter_tutorial.html">Extending JMeter</a>
</li>
</ul>
</li>
</ul>
<ul class="menu">
<li onClick="return true">
<div class="menu-title">Community</div>
<ul>
<li>
<a href="../issues.html">Issue Tracking</a>
</li>
<li>
<a href="https://www.apache.org/security/">Security</a>
</li>
<li>
<a href="../mail.html">Mailing Lists</a>
</li>
<li>
<a href="../svnindex.html">Source Repositories</a>
</li>
<li>
<a href="../building.html">Building and Contributing</a>
</li>
<li>
<a href="https://projects.apache.org/project.html?jmeter">Project info at Apache</a>
</li>
<li>
<a href="https://cwiki.apache.org/confluence/display/JMETER/JMeterCommitters">Contributors</a>
</li>
</ul>
</li>
</ul>
<ul class="menu">
<li onClick="return true">
<div class="menu-title">Foundation</div>
<ul>
<li>
<a href="https://www.apache.org/">The Apache Software Foundation (ASF)</a>
</li>
<li>
<a href="https://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a>
</li>
<li>
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
</li>
<li>
<a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</li>
</ul>
</li>
</ul>
</div>
<div class="main" id="content">
<div class="social-media">
<ul class="social-media-links">
<li class="twitter">
<a href="https://twitter.com/ApacheJMeter" title="Follow us on Twitter"><i class="fa fa-twitter" aria-hidden="true"></i>Twitter</a>
</li>
<li class="github">
<a href="https://github.com/apache/jmeter" title="Fork us on github"><i class="fa fa-github" aria-hidden="true"></i>github</a>
</li>
</ul>
</div>
<ul class="pagelinks">
<li>
<a href="build-ldapext-test-plan.html">&lt; Prev</a>
</li>
<li>
<a href="../index.html">Index</a>
</li>
<li>
<a href="build-jms-point-to-point-test-plan.html">Next &gt;</a>
</li>
</ul>
<div class="section">
<h1 id="building">9. Building a WebService Test Plan<a class="sectionlink" href="#building" title="Link to here">&para;</a>
</h1>

<p>In this section, you will learn how to create a
<a href="build-test-plan.html">Test Plan</a> to test a WebService. You will
create five users that send requests to One page.
Also, you will tell the users to run their tests twice. So, the total number of
requests is (5 users) x (1 requests) x (repeat 2 times) = 10 HTTP requests. To
construct the Test Plan, you will use the following elements:
<a href="test_plan.html#thread_group">Thread Group</a>,
<a href="../usermanual/component_reference.html#HTTP_Request">HTTP Request</a>, and
<a href="../usermanual/component_reference.html#Aggregate_Graph">Aggregate Graph</a>.</p>


<p>If the sampler appears to be getting an error from the webservice, double check the
SOAP message and make sure the format is correct. In particular, make sure the
<span class="code">xmlns</span> attributes are exactly the same as the WSDL. If the xml namespace is
different, the webservice will likely return an error.</p>


</div>
<div class="section">
<h1 id="soap_webservice_template">9.1 Creating WebService Test Plan<a class="sectionlink" href="#soap_webservice_template" title="Link to here">&para;</a>
</h1>


<p>In our Test Plan, we will use a .NET webservice. We won't go into the details of writing a
webservice. If you don't know how to write a webservice, google for
webservice and familiarize yourself with writing webservices for
Java and .NET. It should be noted there is a significant difference
between how .NET and Java implement webservices. The topic is too
broad to cover in the user manual. Please refer to other sources to
get a better idea of the differences.</p>


<div class="clear"></div>
<div class="note">JMeter sends requests in the order that they appear in the tree.</div>
<div class="clear"></div>


<p>Start by using menu
  <span class="menuchoice"><span class="guimenuitem">File</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Templates&hellip;</span></span>
  and select template "<span class="code">Building a SOAP Webservice Test Plan</span>".
Then, click "<span class="code">Create</span>" button.

<figure>
<a href="../images/screenshots/ws_template.png"><img src="../images/screenshots/ws_template.png" width="1050" height="684" alt="
Figure 9.1.0. Webservice Template"></a>
<figcaption>
Figure 9.1.0. Webservice Template</figcaption>
</figure>
Change the following:
<ol>

<li>In "<span class="code">HTTP Request Defaults</span>" change "<span class="code">Server Name of IP</span>"</li>

<li>In "<span class="code">Soap Request</span>", change "<span class="code">Path:</span>"
<figure>
<a href="../images/screenshots/ws_http_request.png"><img src="../images/screenshots/ws_http_request.png" width="955" height="501" alt="Figure 9.1.1 Webservice Path"></a>
<figcaption>Figure 9.1.1 Webservice Path</figcaption>
</figure>

</li>

</ol>

</p>


<p>Next, select "<span class="code">HTTP Header Manager</span>" and update "<span class="code">SOAPAction</span>" header to match your webservice.
Some webservices may not use SOAPAction in this case remove it.<br>
Currently, only .NET uses SOAPAction, so it is normal to have a blank SOAPAction for all other webservices. The list includes JWSDP, Weblogic, Axis, The Mind Electric Glue, and gSoap.
</p>

<figure>
<a href="../images/screenshots/ws_header.png"><img src="../images/screenshots/ws_header.png" width="1327" height="348" alt="Figure 9.1.2 Webservice Headers"></a>
<figcaption>Figure 9.1.2 Webservice Headers</figcaption>
</figure>


<p>The last step is to paste the SOAP message in the "<span class="code">Body Data</span>"
text area.</p>

<figure>
<a href="../images/screenshots/ws_http_request.png"><img src="../images/screenshots/ws_http_request.png" width="955" height="501" alt="Figure 9.1.3 Webservice Body"></a>
<figcaption>Figure 9.1.3 Webservice Body</figcaption>
</figure>



</div>
<div class="section">
<h1 id="adding_users">9.2 Adding Users<a class="sectionlink" href="#adding_users" title="Link to here">&para;</a>
</h1>

<p>The <a href="test_plan.html#thread_group">Thread Group</a> tells
JMeter the number of users you want to simulate, how often the users should send
requests, and the how many requests they should send.</p>


<p>Select the Thread Group element
in the tree, if you have not already selected it. You should now see the Thread
Group Control Panel in the right section of the JMeter window (see Figure 9.2
below)</p>


<figure>
<a href="../images/screenshots/webtest/threadgroup.png"><img src="../images/screenshots/webtest/threadgroup.png" width="" height="" alt="
Figure 9.2. Thread Group with Default Values"></a>
<figcaption>
Figure 9.2. Thread Group with Default Values</figcaption>
</figure>


<p>Start by providing a more descriptive name for our Thread Group. In the name
field, enter JMeter Users.</p>


<p>Next, increase the number of users (called threads) to 10.</p>


<p>In the next field, the Ramp-Up Period, leave the default value of 0
seconds.  This property tells JMeter how long to delay between starting each
user. For example, if you enter a Ramp-Up Period of 5 seconds, JMeter will
finish starting all of your users by the end of the 5 seconds.  So, if we have
5 users and a 5 second Ramp-Up Period, then the delay between starting users
would be 1 second (5 users / 5 seconds = 1 user per second).  If you set the
value to 0, then JMeter will immediately start all of your users.</p>


<p>Finally, clear the checkbox labeled "<span class="code">Forever</span>", and enter a value of <span class="code">2</span> in
the Loop Count field.  This property tells JMeter how many times to repeat your
test. If you enter a loop count value of <span class="code">0</span>, then JMeter will run your test only
once. To have JMeter repeatedly run your Test Plan, select the <span class="code">Forever</span>
checkbox.</p>


<div class="clear"></div>
<div class="note">In most applications, you have to manually accept
changes you make in a Control Panel.  However, in JMeter, the Control Panel
automatically accepts your changes as you make them.  If you change the
name of an element, the tree will be updated with the new text after you
leave the Control Panel (for example, when selecting another tree element).</div>
<div class="clear"></div>


<p>See Figure 9.2 for the completed JMeter Users Thread Group.</p>


<figure>
<a href="../images/screenshots/webtest/threadgroup2.png"><img src="../images/screenshots/webtest/threadgroup2.png" width="" height="" alt="
Figure 9.3. JMeter Users Thread Group"></a>
<figcaption>
Figure 9.3. JMeter Users Thread Group</figcaption>
</figure>

</div>
<div class="section">
<h1 id="adding_listener">9.3 Adding a Listener to View Store the Test Results<a class="sectionlink" href="#adding_listener" title="Link to here">&para;</a>
</h1>

<p>The final element you need to add to your Test Plan is a
 <a href="component_reference.html#listeners">Listener</a>. This element is
responsible for storing all of the results of your HTTP requests in a file and presenting
a visual model of the data.</p>


<p>Select the JMeter Users element and add a <a href="../usermanual/component_reference.html#Aggregate_Graph">Aggregate Graph</a> listener
(<span class="menuchoice"><span class="guimenuitem">Add</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Listener</span>&nbsp;&rarr;&nbsp;<span class="guimenuitem">Aggregate Graph</span></span>).  Next, you need to specify a directory and filename of the
output file.  You can either type it into the filename field, or select the
Browse button and browse to a directory and then enter a filename.</p>


<figure>
<a href="../images/screenshots/ws_listener.png"><img src="../images/screenshots/ws_listener.png" width="1256" height="802" alt="
Figure 9.4. Graph Results Listener"></a>
<figcaption>
Figure 9.4. Graph Results Listener</figcaption>
</figure>


</div>
<div class="section">
<h1 id="rest_webservice">9.4 Rest Webservice<a class="sectionlink" href="#rest_webservice" title="Link to here">&para;</a>
</h1>

<p>Testing a REST Webservice is very similar as you only need to modify in HTTP Request
<ul>

<li>
<span class="code">Method</span>: to select the one you want to test</li>

<li>
<span class="code">Body Data</span>: which can be JSON, XML or any custom text</li>

</ul>
You may also need to modify "<span class="code">HTTP Header Manager</span>" to select the correct "<span class="code">Content-Type</span>"
</p>

</div>
<ul class="pagelinks">
<li>
<a href="build-ldapext-test-plan.html">&lt; Prev</a>
</li>
<li>
<a href="../index.html">Index</a>
</li>
<li>
<a href="build-jms-point-to-point-test-plan.html">Next &gt;</a>
</li>
</ul>
<div class="share-links">
      Share this page:
      <ul>
<li class="fb">
<a data-social-url="https://facebook.com/sharer/sharer.php?u=" title="Share on facebook"><i class="fa fa-facebook" aria-hidden="true"></i>share</a>
</li>
<li class="twitter">
<a data-social-url="https://twitter.com/intent/tweet?url=" title="Tweet on twitter"><i class="fa fa-twitter" aria-hidden="true"></i>tweet</a>
</li>
</ul>
</div>
<a href="#top" id="topButton">Go to top</a>
</div>
<div class="footer">
<div class="copyright">
            Copyright &copy;
            1999 &ndash;
            2021
            , Apache Software Foundation
          </div>
<div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
            feather, and the Apache JMeter logo are
            trademarks of the
            Apache Software Foundation.
          </div>
</div>
<script>(function(){
            "use strict";
            // enable 'go to top' button functionality
            document.addEventListener('scroll', function() {
                if (document.body.scrollTop > 500 || document.documentElement.scrollTop > 500) {
                    document.getElementById("topButton").style.display = "block";
                } else {
                    document.getElementById("topButton").style.display = "none";
                }
            });
            // fill in the current location into social links on this page.
            var as = document.getElementsByTagName('a');
            var loc = document.location.href;
            if (!loc.toLowerCase().startsWith('http')) {
                return;
            }
            for (var i=0; i<as.length; i++) {
                var href = as[i].getAttribute('data-social-url');
                if (href !== null) {
                    as[i].href = href + encodeURIComponent(loc);
                }
            }
        })();</script>
</body>
</html>
