Click here to Skip to main content
15,867,594 members
Articles / Web Development / ASP.NET

Test Your ASP.NET WebService using SoapUI

Rate me:
Please Sign up or sign in to vote.
4.84/5 (30 votes)
8 Aug 2009CPOL5 min read 415.7K   88   21
This article describes how to test your web service using Soap UI Tool.
Image 1

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.

Image 2

Following is my WSDL URL:

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

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

C#
//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:

Image 3

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

Image 4

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:

Image 5

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:  

Image 6

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.

Image 7

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.

Image 8

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.

Image 9

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:

C#
// 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, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead
India India
.NET Consultant | Former Microsoft MVP - ASP.NET | CodeProject MVP, Mentor, Insiders| Technology Evangelist | Author | Speaker | Geek | Blogger | Husband

Blog : http://abhijitjana.net
Web Site : http://dailydotnettips.com
Twitter : @AbhijitJana
My Kinect Book : Kinect for Windows SDK Programming Guide

Comments and Discussions

 
QuestionHow do you attach a debugger using soapUI (has port) testing to attach the w3wp.exe after you have deployed this? Pin
Jan Palmer16-May-18 17:08
Jan Palmer16-May-18 17:08 
Questionhow to execute soapUI testing using command promt Pin
Member 1122993612-Nov-14 20:38
Member 1122993612-Nov-14 20:38 
GeneralMy vote of 1 Pin
shyam_15-Oct-13 16:18
shyam_15-Oct-13 16:18 
GeneralMy vote of 5 Pin
ketan italiya13-Aug-13 20:12
ketan italiya13-Aug-13 20:12 
GeneralMy vote of 5 Pin
Halil Güneş27-Jun-13 22:11
Halil Güneş27-Jun-13 22:11 
GeneralHelp Full Article Pin
sushil Kumar Dhayal18-Apr-12 0:07
sushil Kumar Dhayal18-Apr-12 0:07 
GeneralMy vote of 5 Pin
Manoj Kumar Choubey5-Apr-12 1:25
professionalManoj Kumar Choubey5-Apr-12 1:25 
GeneralMy vote of 5 Pin
Geekian_senate16-Mar-11 6:57
Geekian_senate16-Mar-11 6:57 
GeneralMy vote of 5 Pin
Member 332542311-Jul-10 23:05
Member 332542311-Jul-10 23:05 
GeneralOutstanding tool Pin
BOWLINGBALL12-Aug-09 4:31
BOWLINGBALL12-Aug-09 4:31 
GeneralRe: Outstanding tool Pin
Abhijit Jana12-Aug-09 6:26
professionalAbhijit Jana12-Aug-09 6:26 
GeneralExcellent Pin
Abhishek Sur10-Aug-09 3:47
professionalAbhishek Sur10-Aug-09 3:47 
GeneralRe: Excellent Pin
Abhijit Jana10-Aug-09 7:00
professionalAbhijit Jana10-Aug-09 7:00 
QuestionWhere you tested webservice? Pin
N a v a n e e t h9-Aug-09 9:38
N a v a n e e t h9-Aug-09 9:38 
AnswerRe: Where you tested webservice? Pin
Abhijit Jana9-Aug-09 10:00
professionalAbhijit Jana9-Aug-09 10:00 
GeneralRe: Where you tested webservice? Pin
N a v a n e e t h9-Aug-09 15:30
N a v a n e e t h9-Aug-09 15:30 
GeneralRe: Where you tested webservice? Pin
Abhijit Jana9-Aug-09 17:25
professionalAbhijit Jana9-Aug-09 17:25 
Smile | :) Thumbs Up | :thumbsup:

Abhijit Jana | Codeproject MVP
Web Site : abhijitjana.net
Don't forget to click "Good Answer" on the post(s) that helped you.
View My Latest Article

GeneralOutstanding Pin
Md. Marufuzzaman9-Aug-09 5:19
professionalMd. Marufuzzaman9-Aug-09 5:19 
GeneralRe: Outstanding Pin
Abhijit Jana9-Aug-09 9:01
professionalAbhijit Jana9-Aug-09 9:01 
GeneralRe: Outstanding Pin
Md. Marufuzzaman9-Aug-09 9:05
professionalMd. Marufuzzaman9-Aug-09 9:05 
AnswerRe: Outstanding Pin
Abhijit Jana9-Aug-09 9:41
professionalAbhijit Jana9-Aug-09 9:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.