Home
Home > Technology
Corba & SOAP
MS Wast & eSOAP
SOAP & Embedded Systems
Tips for realtime embedded programs
Using MS WAST with eSoap
This article shows how to use the MS WAST (Microsoft Web Application Stress Tool) to perform stress and performance tests of Web Services.

Contents

Introduction

This article shows how to use the MS WAST ( Microsoft Web Application Stress Tool ) to perform stress and performance tests of Web Services.

This paper was thought for developers working with Web Services using SOAP. Some of the steps used in this article are directed towards the eSoap Toolkit , but the majority of the themis generic and could be used with any other toolkit.

In this article we present only the initial setup. For full understanding of WAST, we strongly recommend you to read its documentation, specially the Tutorial, and try using it for "tuning" your Web Service.

Step by Step Procedure

The most basic pre-condition to use this tool is getting familiar with it. It is very simple, and we recommend going to Microsoft site, and reading the tutorial for while.

  • 1. Create a "New Script"
  • 2. Specify the destination server

  • 3. Add a POST verb, specifying the actual "URI path" for the Web Service. You get this from the WSDL file. For eSoap we use: /rpcrouter

Please double click on the 'button' just to the left of the verb to "edit the verb".


  • 4. Edit the Verb

The step above brings up a tabbed selection window where you enter the settings.


  • 5. In the QueryString tab, uncheck 'Format data to CGI standard' (see above).
  • 6. In the Post data tab, set the choice to Text and enter your SOAP Envelope (XML message).

NOTE: eSoap Specific: With eSoap it is easy to get "Envelope" data using a tool like proxyTrace developed by Simon Fell. From proxyTrace you could get the content of the "Request Envelope" and all necessary "HTTP Headers" that might be needed on the next step.


Using "proxyTrace" with eSoap is very easy. Basically you have to setup the environment variable "HTTP_PROXY=http://localhost:8081" to the location where the proxy is running. This environment variable should be active on the context of each client process written using eSoap run-time. In this case, you started the "proxy" the local machine listening on port number 8081.

  • 7. In the Header tab, set the HTTP header settings that are important for SOAP (for eSoap they are ):
          Content-Type       to: the_number_bytes_of_envelope
          Content-Length     to: text/xml; charset="UTF-8"
          SoapAction         to: the_soap_action_goes_here
        

    Example for eSoap:
      Content-Type:   text/xml; charset="utf-8"
      Content-Length: 526
      SOAPAction:     "some:action"
    


NOTE: "Content-Length" is automatically filled in, if you leave the value "blank". Erase the "automatic" option.
  • 8. Close the edit dialog and run the script.

  • 9. Selecting Test duration and concurrent connections (threads)

A lot more can be done with this tool, but we let you explore them as you get more familiar with it. Also, we really encourage you to read the "Tutorial" from Microsoft's site.

Links

Credits

The steps provided on this article were based on a message posted by "Mark Grant" ( mgrant@amadeus.net ) "Re: Performance Testing SOAP webservice" on the Microsoft's newsgroup "microsoft.public.xml.soap".

Thanks to Simon Fell for this nice tool called "proxyTrace".

Author

Rosimildo Da Silva is CTO and co-founder of ConnectTel, Inc., an Austin (Texas)-based software development firm, specializing in designing and implementing firmware and drivers for embedded systems. Da Silva is specifically noted for working with software applications that interface with hardware components. He has extensive experience as the software architect on various projects and has also served as the lead architect on global projects.


Copyright © 2006 ConnectTel, Inc. All Rights Reserved.  |  Contact Us  |  Privacy Policy