Library tutorials & articles

Building XML Web Services Using C# and ASP.NET

What is a web service?

The term "web service" refers to a form of a component that can be used remotely. Microsoft offers two types of web services in their .NET framework: XML web services and .NET remoting. When developers refer to web services they usually mean XML web services, and in this article I will also refer to XML web services as just web services.

Web services are invoked remotely using SOAP or HTTP-GET and HTTP-POST protocols. Web services are based on XML and return an "answer" to the client in XML format. Web services have all the advantages of components plus many more. The most significant benefits include:

  • Language and platform independence: Web services can be built and consumed on any operating system just as long as that operating system supports the SOAP protocol and XML.
  • Automatic upgrade: Unlike components, if a web service requires an update, that update is propagated to all applications consuming that web service immediately. This is because the actual methods and properties for the web service are invoked from the web server remotely, meaning that each function contained within a web service appears as a "black box" to a client: they aren't concerned with the way the function does its job, just as long as it returns the expected result.
Commonly Used Jargon
As with all new technologies, web services come with a lot of associated jargon. Here's a list of some terms that you'll come across as you begin your journey down the web services highway:

UDDI
Well, this isn't the case at the moment, but I'm pretty sure that in the future there will be thousands of web services on the Internet. The question is how are we going to find the web services we are looking for? UDDI (Universal Description, Discovery and Integration) is the answer to that question. UDDI is a registry that provides a place for a company to register its business and the services that it offers. People or businesses that need a service can use this registry to find a business that provides the service.

When you search for a web service using UDDI's web service or web browser, UDDI returns a listing of web services that matched your criteria. This list is returned in the form of a DISCO or WSDL document.

WSDL
WSDL (Web Services Description Language) is a language that describes a web service. It contains information such as where you can find the web service, methods and properties that it supports, its data types, and the protocol used to communicate with the web service. WSDL is based on the XML format and it's used to create proxy objects. Basically, without a WSDL document, developers wouldn't be able to use web services simply because they wouldn't know which methods and properties they support and also which communication method any particular web service supports.

DISCO
DISCO (Abbreviated from discovery) is a list of WSDL documents. DISCO is used to group common web services together. DISCO documents are also in XML format.

SOAP
SOAP (Simple Object Access Protocol) is a protocol to transport data to and from the web server. It is in XML format and allows you to transport a variety of data types used in .NET. As an alternative to SOAP, we can use HTTP-GET and HTTP-POST, which will be covered later in the article. These protocols return the output in a non-SOAP format, however this output is still in XML format.

UDDI, DISCO, SOAP, WSDL

Comments

  1. 21 Mar 2005 at 21:56
    I got a problem where even after I changed the name, the tempuri persisted, and just figured out that you have to get rid of cached images from:

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET FilesNET

    Just wanted to mention this in case someone look for an answer for this.
  2. 22 Jan 2004 at 05:25


    Hi....


    You have to  write the query to check the password. It will be better  if you  use StoredProcedure ..


    Sample of the  stored procedure
    CREATE PROCEDURE _checkpass
    (
    @password varchar(10)
    )


    As
    select password from table where password=@password
    if @@rowcount<1
    select @status=0
    else
    select@status=1
    Go


    Once you write the above stored pro with sql server


    user the following code... in your  application


    myCommand = new SqlCommand("_checkpass", myConnection);
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add(new SqlParameter("@password", SqlDbType.VarChar, 50));
           myCommand.Parameters["@password"].Value =txtpass.Value;


    myCommand.Connection.Open();


           try
           {
           myCommand.ExecuteNonQuery();


    if((int)status.Value==0)
    {
    Go Ahead........
    }
    else
    {
    Stopped Functioning
    }





  3. 09 Jan 2003 at 20:58
    Posted question without "fully" reading article!!
  4. 09 Jan 2003 at 20:54

    silly question, but as I am new to SQL and C#, how would I be able to check an existing password, that was previously added to your database table and check the result to athenticate the user?

  5. 01 Jan 1999 at 00:00

    This thread is for discussions of Building XML Web Services Using C# and ASP.NET .

Leave a comment

Sign in or Join us (it's free).

James Yang James is a student at Georgia Institute of Technology, majoring in Computer Science. He is an MCSE, MCDBA, MCSA and CCNA.

Related podcasts

Events coming up

  • Mar 15

    DevWeek 2010

    London, United Kingdom

    DevWeek is Europe’s leading independent conference for software developers, database professionals and IT architects, and features expert speakers on a wide range of topics, including .NET 4.0, Silverlight 3, WCF 4, Visual Studio 2010, REST, Windows Workflow 4, Thread Synchronization, ASP.NET 4.0, SQL Server 2008 R2, LINQ, Unit Testing, CLR & C# 4.0, .NET Patterns, WPF 4, F#, Windows Azure, ADO.NET, Entity Framework, Debugging, T-SQL Tips & Tricks, and more.

Want to stay in touch with what's going on? Follow us on twitter!