Define a SOAP request based on a WSDL definition

The first example will use a web service provided by StrikeIron, this service is a Text Disguise CAPTCHA-Image service. Provided you register your email you will be allowed to freely test the service. The WSDL is available at http://www.textdisguise.com/TextDisguise/CaptchaService/CaptchaService.asmx?WSDL.

A CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a program that can generate images that most humans can see, but current computer programs cannot. Many applications need the security of knowing that the "thing" interacting with them is, in fact, a real live person capable of thinking who is responsible for the interaction. Text Disguise solves this problem by embedding a word into an image, distorted and is then shown to the user. The user has to confirm the value entered into the box to continue.

The Text Disguise CAPTCHA-Image service defines two basic methods called GetNewWord and ValidateImageWord. The first method, GetNewWord, expects no direct arguments. It returns a captcha image identifier and a link to that image. The image can be displayed and the user prompted to enter the text he or she sees in the image.

The second method, ValidateImageWord, expects two arguments, the text entered by the user and the image identifier. The method returns true if the text is consistent with the image identifier and false otherwise.

The HTTP request containing a call to the GetNewWord method looks like the following:

POST http://ws.strikeiron.com/textdisguise/CaptchaService
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.textdisguise.com/TextDisguise/CaptchaService/GetNewWord"
User-Agent: Jakarta Commons-HttpClient/3.0
Host: ws.strikeiron.com
Content-Length: 723

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope 
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
    <ns1:LicenseInfo 
        xmlns:ns1="http://ws.strikeiron.com" 
        soapenv:actor="" soapenv:mustUnderstand="0">
      <ns1:UnregisteredUser>
        <ns1:EmailAddress>john.doe@dot.com</ns1:EmailAddress>
      </ns1:UnregisteredUser>
      <ns1:RegisteredUser>
        <ns1:UserID/>
        <ns1:Password/>
      </ns1:RegisteredUser>
    </ns1:LicenseInfo>
  </soapenv:Header>
  <soapenv:Body>
    <GetNewWord 
        xmlns="http://www.textdisguise.com/TextDisguise/CaptchaService/">
      <GetNewWord/>
    </GetNewWord>
  </soapenv:Body>
</soapenv:Envelope>

Several points are worth noticing:

The previous points are noteworthy because most of these elements are generated by NeoLoad and based on the WSDL definition, but as detailed in the following section, NeoLoad user interface will let you customize and configure all of them.

The process is composed of the following steps:

  1. Creating and defining the SOAP request based on WSDL definition
  2. Configuring the request (parameters)
  3. Testing the request

  1. Create a SOAP Request:
  2. Configure the SOAP request:
  3. Test the SOAP request: