This tutorial explains how we can create simple Web Services using Visual Studio 2008 or Visual Studio 2010.
First create new project and select "New ASP.NET Web Service Application" and I'm giving the name "MyFirstWebService" to it, you can give any name to your project.
Now you can see auto generated code that you can add methods to create your web service. You can see simple method "HelloWorld" and in this sample code I have removed it.
I'm going to add simple method called "simpleMethod" which takes a string as an input and add "Hello" to beginning of that string. Now the code will appear like bellow.
Then you have to add Service Reference so that you can access your web service. Here are the screen-shots.
Note that I have set the "Web reference name" as "TestWeb".
Now you can update your client program using following code. Note the line 5 "using WebServiceTest.TestWeb;".
Let's see how we can publish our web service in IIS. Otherwise you always need to run your web service application in separate VS instant. There first stop the web service application and go to the Solution Explore and Right Click on the project. Then select "Publish...".
Then the following window will appear and there you can directly publish to the IIS by selecting "Web Deploy" as the publishing method. But here I'm going to use the "File System as the publishing method. There you have to provide the target location. I have created new folder called "MyApp" in my D drive and selected it.
Now click "Publish" and check the "MyApp" folder. There you will be able to see Service1.asmx file, Web.config file and bin folder which contains the DLL file has been generated. Then copy this "MyApp" folder to "wwwroot" folder. You may find it in "C:\inetpub\wwwroot".
Now enable IIS in your computer and open IIS Manager. I'm going to add my service to Default Web Site. There Right Click on the "Default Web Site" and click "Add Application...".
There you will get following window. Now you can provide appropriate Alias (I have given testservice) and select the physical path of your application. There you can provide the path to the folder we copied previously as following figure and click Ok.
Now restart the IIS and goto http://localhost/testservice/Service1.asmx. You will be able to see the Web Service running.
Now you have published your web service in IIS and you can update the Client Program by giving the new Web Reference URL using Properties Window.
If you are interested in creating web services in java, please follow my post
Create Web Service in Java Using Apache Axis2 and Eclipse
Create Web Service in Java Using Apache Axis2 and Eclipse
1. Create the Web Service
First create new project and select "New ASP.NET Web Service Application" and I'm giving the name "MyFirstWebService" to it, you can give any name to your project.
Now you can see auto generated code that you can add methods to create your web service. You can see simple method "HelloWorld" and in this sample code I have removed it.
I'm going to add simple method called "simpleMethod" which takes a string as an input and add "Hello" to beginning of that string. Now the code will appear like bellow.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace MyFirstWebService
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string simpleMethod(String srt)
{
return "Hello "+srt;
}
[WebMethod]
public int anotherSimpleMethod(int firstNum, int secondNum)
{
return firstNum + secondNum;
}
}
}
Then you can run your code and you can see the resulting page as bellow.2. Create the Client Program
We have created our simple web service and we have to create small
client program to use this web service. There you can open another
instant of Visual Studio and create new "Console Application" project.
client program to use this web service. There you can open another
instant of Visual Studio and create new "Console Application" project.
Then you have to add Service Reference so that you can access your web service. Here are the screen-shots.
Here you have to give the URL of the web service we created earlier.
As I said before previously created web service application should be
running on another instant of Visual Studio.
As I said before previously created web service application should be
running on another instant of Visual Studio.
Note that I have set the "Web reference name" as "TestWeb".
Now you can update your client program using following code. Note the line 5 "using WebServiceTest.TestWeb;".
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WebServiceTest.TestWeb;
namespace WebServiceTest
{
class Program
{
static void Main(string[] args)
{
Service1 webservice = new Service1();
string srt = webservice.simpleMethod("Saranga Rathnayake");
Console.WriteLine(srt);
Console.WriteLine(webservice .anotherSimpleMethod(4,3));
}
}
}
Now you can run the client program to see the result.3. Publish Our Web Service in Internet Information Service (IIS)
Let's see how we can publish our web service in IIS. Otherwise you always need to run your web service application in separate VS instant. There first stop the web service application and go to the Solution Explore and Right Click on the project. Then select "Publish...".
Then the following window will appear and there you can directly publish to the IIS by selecting "Web Deploy" as the publishing method. But here I'm going to use the "File System as the publishing method. There you have to provide the target location. I have created new folder called "MyApp" in my D drive and selected it.
Now click "Publish" and check the "MyApp" folder. There you will be able to see Service1.asmx file, Web.config file and bin folder which contains the DLL file has been generated. Then copy this "MyApp" folder to "wwwroot" folder. You may find it in "C:\inetpub\wwwroot".
Now enable IIS in your computer and open IIS Manager. I'm going to add my service to Default Web Site. There Right Click on the "Default Web Site" and click "Add Application...".
There you will get following window. Now you can provide appropriate Alias (I have given testservice) and select the physical path of your application. There you can provide the path to the folder we copied previously as following figure and click Ok.
You have to make sure that the application pool identity has Read access to the physical path. So it is better if you copy your files to the "wwwroot" folder other than keep it in separate partition. Please check the following screen-shot
Now restart the IIS and goto http://localhost/testservice/Service1.asmx. You will be able to see the Web Service running.
Now you have published your web service in IIS and you can update the Client Program by giving the new Web Reference URL using Properties Window.














35 comments:
thanks a looooot easy to understand.
Hi, great posting, straightforward.
Did you also post about how to publish your web service in IIS?
Thanks a lot.. easy method to create webservice..
thanx dude ..its very usefull for me.
It was really helpful. If you are new to making a web service. Snapshots make it much easier to understand.
good one
@ Ashraf Hossain,
Thanks for commenting...
@ Tony,
Yes, I'll post it. Thanks for commenting.
@ Guide,
Thank you very much for your comment.
@ Anonymous Cementer's,
Thank you very much...
Dear Saranga,
would you give me an example how to send xml file to web service using asp.net
and if I was not wrong if we would send the xml file we should submit username and password.
@ Baraa,
You can create web service method that accept FileStream to get the task done. Following link will help you.
File Upload with ASP.NET
I didn't get the second part of your question, what do you really want to do ? Do you want to check the username and password using web service ?
Sorry... but resolution on the page is too small. One can't see enithing!
Even when zooming in.
@Anonymous,
What is your OS and browser ?
Hello Saranga,
Many thanks for this post. However, I must say that everything was going well for me until I tried to select add application to IIS. I failed to do so. I have OS XP. Could you please how to do this on this operation system please?
Behzad
Very helpful post. Thank you much!
@ behzad,
First you have to install IIS on XP. Then you can add the application.
@ DT,
Thanks for commenting...
very good brother it is excellent
@ NASIR HUSSAIN,
Glad you are enjoying my blog, Thanks for commenting.
Very Helpful example, thanks.
Just 1 thing, for some reason i had to put the c# code inside of Service1.asmx and delete Service1.asmx.cs, bc when i put it in the hosting (Godaddy) didn't work.
Any Idea Why?? The error msg is that cannot find the class, i did check everything and everything was perfect and works perfect in my pc, but in the internet didn't....
Hi, I am new to asp.net programming, i try to develop sample web service in visual studio 2010. By selecting 3.5 frame work and open web service project, but got some errors. Error info:1. he primary reference "System.Web", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v3.5". To resolve this problem, either remove the reference "System.Web" or retarget your application to a framework version which contains "System.Web". 2. The referenced component 'System' could not be found. 3. The referenced component 'System.Web' could not be found. Please help me.
Thanks guys, you just give me short description about Web Service. easy to try, easy to understand.. thanks
Excellent Article for the understanding of web services..
Hi, I have following error while publishing my web service on IIS 7.5, i am using win 7 and VS10
:This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
@ Abdul Malik,Abhijeet
Thank you for your comments...
@ Sanjay,
Please follow this thread, hope it will help.
http://forums.iis.net/p/1023069/1390229.aspx
Good One ! Very easy to understand !
Thanks Man ! Really simple & easy to understand !
@ Bala Kiran,
You are welcome...
@ Bala Kiran,
Thanks for commenting...
Very useful post thank you so much.
Thanks man..........!
Its really useful.........!
Thanks once again...........!
Thanks man............!
Its really useful...........!
Thanks once again.........!
@ Ateş GÜRAL,
Thanks for commenting.
@ Dany,
You are welcome...
Thanks man, a very helpful and informative post.
@ Don Dada,
You are welcome.
Is it possible to create sessions for users, after they have logged in? I'm trying to produce a whole number of web services that require a user to authenticate first. I've looked online at a few tutorials, but have been finding it hard to understand many of the examples
You seemed to forgot that there is a required addon to Visual Studio 2010 in order to create an web service project... At least with the VS 2010 Ultimate SP1 version.
Could you please mentioned what the name of the addon is?
The first screenshot with the circles that shows web service (etc) does not exist with the default VS install.
@ Shannara,
Did you try changing the .NET framework to 3.5 ?
Post a Comment