Background
In my previous article Introduction to Web Service with Example in ASP.Net we learned how to create a simple Web Service. This article explains how to consume the Web Service in an ASP.Net web Application. And remember, I have written this article only focusing on beginners. So let us start step-by-step so beginners can understand it very easily.
Requirement
You need to keep a Web Service application in running mode so it can be accessible for use, so go to my article Introduction to Web Service with Example in ASP.Net and create a Web Service and keep it in running mode I hope you have done that.
What does consuming mean?
Many beginners are confused about what means consuming means, but its very simple, it means to use the Web Services in an application.
Example
I have created Web Services and now I want to use it in a real requirement so I used it in an ASP.Net Web Application. In other words, I am consuming the Web Service in an ASP.Net web application. Similarly you can use the same Web Service in Windows, console application, Java and other applications.
I hope you understand the word "consuming".
So let us create the simple ASP.Net Web Application as:
- "Start" - "All Programs" - "Microsoft Visual Studio 2010".
- "File" - "New" - "Project..." then in the New Project window "C#" - "Empty Project" (to avoid adding a master page).
- Give the project a name, such as "Consumingwebservice" or another as you wish and specify the location.
- Then right-click on Solution Explorer and select "Add New Item" - "Default.aspx" page.
- Then drag three Text Boxes, one Button, and one Label onto the "Default.aspx" page.
Then the <body> section of the Default.aspx page looks as in the following:
In the preceding source code, you have seen that I have taken three text boxes to get input from users because we know that our Web Service method created as in my article Introduction to Web Service with Example in ASP.Net takes the three input values day, month and year so I have taken the three text boxes and button click event. We will call the Web Service method and the output will be displayed on the label control so I have also taken one button and label control.
I hope you understand it.
Now your Solution Explorer of ASP.Net Web Application will be as in the following:
Adding a Web Service Reference in the ASP.Net Web Application
The most important task whem consuming a Web Service in an ASP.Net Web Application is adding the Web Service reference into the ASP.Net web application. So how to add it? Let us see the procedure.
Right-click on the ASP.Net Web Application and click on "Add Service Reference" as in the following:
Then after clicking on the above option, the following window will appear, then click on the "Advanced" tab.
Now after clicking on the Advanced tab, it will show the following window then click on the "Add Web Reference" option as in the following in a circle:
.
After clicking on the Add Web Reference tab, it will show the following window. Now this is a very important step, when adding the web reference to the ASP.Net web Application. Since you see "URL" option in the following window, on that window we need to paste or type the Web Service URL address.
So how to add the URL Reference in the preceding URL box, let us see the procedure again.
As you clearly see there, in the preceding window, it displays the method named "converttodaysweb" as we created in our Web Service, now just you need to copy the preceding URL that I have circled in red and paste it into the Step 4 window URL option, then the Step 4 window will look as in the following:
-----What After Pasting the URL in the preceding URL box
After pasting the URL in the preceding window box, click on the green right headed arrow button, it will discover the Web Services available related to that URL address and you see that in that related URL one Web Service is found message is displayed along with the Web Service name, "Web Services" in the preceding right hand side window.
The Name of the Web Service is "WebService" because I have given the class name as Web Service, that's why the name is Web Services, in your case it might be different or the class name is anything so you can use any name for Web Service so don't be confused about it.
In the right hand corner of the window you have seen the option for the Web reference name; the web reference name is anything you wish and this name will be added in your ASP.Net Web Application as allies name for Web Service. In my article I have given the web reference name as "local host".
Then after adding the Web Service reference in the ASP.Net web application the Solution Explorer will look as in the following:
In the preceding window, you have clearly seen that the Web Service reference named "localhost" is added into the ASP.Net web Application. I hope you understand how to add the Web Service reference into the ASP.Net web application.
Calling the Web Service method from the ASP.Net Web Application
We have added the Web Service reference into our web application. Now next is how to call the Web Service method that we created in our Web Service Application from the ASP.Net Web Application.
The following is the procedure:
1. Go to the Default.aspx page of our ASP.Net Web application and double-click on the button that we have placed on the Default.aspx page.
2. Now write the following code in the button click to create the object of the Web Service class:
localhost.webservice age=new localhost.webservice();
In the code above, I have created the object of Web Service class named "age" followed by the Web reference name ("localhost") and Web Service class ("webservice"), I hope you understand how to create the object of the Web Service class.
The entire code of the Default.aspx.cs page will be as follows:
Code Explanation
In the code above, I first created the object of the Web Service class named "age" followed by Web reference name ("localhost") and Web Service class ("webservice").
Then I declared the three integer variables "day", "month" and "year" to store the values provided by the user as input from the Textbox1, Textbox2 and Textbox3.
Now, in the next step, as you know our new Web Service method takes three parameters, so I ed the three input parameters "day", "month" and "year" to the Web Service method "converttodaysweb".
Then I declared another integer variable, "a", to store the values returned by the Web Service method "converttodaysweb".
And finally I displayed the values returned by the Web Service method "converttodaysweb" on the label control using variable "a" because, as you know, we have stored the returned values of the method into the variable a, so the final result will be stored in the variable a.
Now, run the ASP.Net web application and provide the input of day, month and year. I will enter my Date of Birth and then I will click on the "Calculate" button, it will show the output as in the following:
In the preceding screen, you see that currently, I am 8702 days old, which means that for the last 8702 days, I have been on this earth.
Note:
- For detailed code please download the zip file attached above.
- Also refer to my previous article about creating a Web Service.
Summary
I hope that beginners as well as students understand the creation and consumption of Web Services in ASP.Net web applications using my two articles. If you have any suggestion regarding this articles then please contact me. Student suggestions are also welcomed.