Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Test Your ASP.NET WebService using SoapUI

0.00/5 (No votes)
8 Aug 2009 3  
This article describes how to test your web service using Soap UI Tool.

Table of Contents 

Introduction

We have developed web services for different purposes. Authorized users can consume the web service and can use it. soapUI [^] is one of most powerful tools to test our web service. It is able to test any kind of web service, but here I will explain how to test an ASP.NET web service using SOAP UI.

Before you start reading this article, I assume that you have a basic knowledge of the following:

  • Building and Consuming Web Services
  • SOAP Request and Response

This is the basic work through testing of .NET Web services.

Why Should We Need This ?

This is one of the best ways to test our web service before we move to production or release. Generally we create a web service and create a sample consumer application to test it. But using Soap UI, we do not need to create the consumer. We can even test our web service based on our Soap Request and Response. I have described all the basic things that we can do with Soap UI tool. You can now explore it and take it forward.

What is soapUI Tool ?

soapUI is a tool for Testing Web Services. These can be the SOAP Web Services as well RESTful Web Services or HTTP based services. soapUI is Open Source and a completely free tool with a commercial companion -soapUI Pro- that has extra functionality for companies with mission critical Web Services.

soapUI has been downloaded more than a million times and is seen as the de facto standard for Web Service Testing.

The above text is quoted from the Soap UI site itself. Please visit the SOAP UI [^] site for more details about installation and other guides.

Create a Sample Web Service for Test with soapUI

I have created a small sample web service to test using Soap UI. This web service contains 4 dummy methods, Addition(), Subtraction(), Multiplication(), Division() and getmessage(). I have shown how we check Soap Request and Response during transmission of data.

Have a look at the web service.

Following is my WSDL URL:

http://localhost/MyWebService/Service.asmx?WSDL

Below is the sample code for those methods that I have discussed:

  //Get Sample Message from Web Service
   [WebMethod]
    public string GetMessage() {
        return "Sample Web Service For Test with soapUI";
    }
    
    // Add two number
    [WebMethod]
    public int Addition(int a,int b)
    {
        return a + b ;
    }
    
    //Subtract Two number
    [WebMethod]
    public int Subtraction(int a, int b)
    {
        return a - b;
    }
    
    //Multiply Two Number
    [WebMethod]
    public int Multiplication(int a, int b)
    {
        return a*b;
    }
    
    //Division of Two number
    [WebMethod]
    public float Division(int a, int b)
    {
        return a/b;
    }

Start Testing With soapUI

I hope you have already gone through the soupUI web sites and done the necessary installation. Now start the soapUI.

Open SoapUI

At the beginning, it will start a command prompt to initialize the soapUI tool. It looks like:

Simultaneously , the UI of soapUI will be open, which will look like:

Start a New Project

So, before we start testing our web service, we have to create a new project from File > New soapUI Project. The following screen will come:

On this screen, we have to provide the ProjectName and WSDL URL. I have marked that area with red color. After providing both the information, click on "OK" . After click on OK button, soapUI will start loading the definition of web service request and response. It will show a progress bar while doing this process:  

Exploring soapUI

After completion of this process, check out the Navigator panel, where you can see a project name has already been created and all the methods of your web service are available with a default request.

In the bottom section of navigator window, you can see the properties of our web services, which includes port type, wsdl url, binding , SOAP Version, etc.

Similarly, if we click on the particular method, we will also get the details like SOAP Action header, Type, Description for each and every method. For example, if I clicked on "Addition()" method, the following display will come in the property window.

Check SOAP Request

Now, we come to the main point. This is about the SOAP request. We can easily get the SOAP Request for any particular method. As for example, if we click on the Request of Addition() methods, it will show the following SOAP Request for the Addition Method. So before checking the SOAP request, just have a quick look at the Addition() method. It was something like:

 // Add two number
    [WebMethod]
    public int Addition(int a,int b)
    {
        return a + b ;
    }

So, this web method accepts two integer parameters and returns the sum of those two numbers as integer. Now, check the SOAP XML format for that method.

Click to enlarge image

In the SOAP Request, it clearly shows the accepted parameter. Now let's see the SOAP Response if we pass some parameters on that SOAP Request.

Check SOAP Response 

For example, I am passing 1 and 2 as parameters of SOAP Request, and click on the "Run" button, it will give you the following output:

Click to enlarge image

From the SOAP Response, we can easily understand that our web service is returning valid data. If we click on the RAW tab, we will get the RAW XML Format for the requests and response.

The example which I have explained is for an simple method. We can test for many complex methods too.

Summary 

This is not an article for describing what Web Services, SOAP Request or SOAP Response are. This is all about how to test your web service after it has been developed. SOAP UI is one of the best web service testing tools for testing Soap Requests and Responses. In this article, I have explained only the basic overview of that tool. May be at a later point, I will come up with some advanced features of this tool. Hope this will help you in future to test your web service. Please give your valuable suggestions and feedback.

Points of Interest 

This is a great tool to test our web service to make sure it is working fine before we deliver it to the client or customer.

History 

  • 9th August, 2009: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here