In-Sights into Web Services - Part 1

原创 2004年09月05日 06:05:00

Off late, Web services are one the buzz word most of the software people uses. In this article let us try to understand the basics of Web Service. Let us start off by asking our self “What is a Web Service?”

What is a Web Service?

Web Service is software components that expose a service over the web.

  • It allows applications to share data and functionality.
  • It can be called across platforms and operating systems regardless of the programming language used by applications.
  • You can invoke this application programmatically over the Web using SOAP protocol.

In .Net a web service is an ASP.NET application with <.asmx> extension. The basic elements of web services are SOAP (XML + HTTP), UDDI and DISCO.


UDDI stands for Universal Description Discovery and Integration. UDDI defines a way to publish and discover information about web services.

UDDI is like a registry rather than like a repository. A registry contains only reference information. For example, the windows registry contains the name of COM objects and not the entire code. When we invoke a COM object, the system finds the registry entries and then it redirects execution to the actual binary part for that COM object. UDDI works the same way!

Using Microsoft UDDI SDK, web services can be registered for public use at VS.NET provides a web service with the option to register and publish itself from the IDE.

DISCO (Discovery)

After choosing a web service through UDDI the next step is to access its discovery. Discovery is the process of locating and examining XML Web Service descriptions. Through this process a client understands that web service capabilities. Programmatic discovery is enabled through a “.disco” file, which is an XML document that contains links to other discovery documents, XSD schemas and service descriptions (WSDL).

A discovery document is automatically generated for an XML Web service when the web service is accessed using a URL with “?DISCO” in the query string.

For instance, if the URL to an XML Web service is, then a discovery document is automatically generated with a URL of


SOAP stands for Simple Object Access Protocol. SOAP is an XML based lightweight protocol, which allows software components and applications communicate, mostly using HTTP. SOAP sits on top of the HTTP protocol. It is message-based and nothing but an XML document with a pre-defined format.

The following features make SOAP the most preferred way of communication over the web:

  • Platform independency
  • Language independency
  • XML based
  • Based on W3C standard

Every SOAP message has an envelope, a header (optional) and Body (SOAP message in XML format).

  • The envelope defines the content of the message.
  • The header (optional) contains header information.
  • The body contains call and response information.

Before the advent of web service and .Net, technologies like DCOM/CORBA etc., were used for network communication. But those were vendor specific and interoperability between them was quite complex.

Remote procedure calls (RPC) was used for communication between technologies like DCOM and CORBA, but HTTP was not designed for this. Most of the corporate networks use proxy/firewalls that allow only HTTP requests (Firewalls/proxy servers would normally block RPC). Web sites too allow mostly HTTP traffic through port 80.

All Internet browsers and servers support HTTP. So HTTP is generally a better way to communicate between applications. That’s where SOAP comes into play.

Web Service Description Language (WSDL)

Let’s say we have created a web service. How does the consumer know how to use it? Like, which method to invoke and what parameters to pass?

There are many possible ways we can think of to accomplish this task.

  • May be we can write a document that provides this information or
  • We can verbally explain the information to the user.

These informal approaches have at least one serious problem. When developer sits down to build a client for your web service, their development tool cannot offer them any help because that tool has no idea about the web service’s functions and parameters. The solution is to provide a formal description in a machine-readable format.

The WSDL is an XML-based grammar for describing the web services; it’s a function, parameters and return values. Being XML-based, WSDL is both machine and human readable.


In this article I have explained about the basic elements of Web Services. In the next article we would look deep in to the topic “Web Services in .NET”. Feel free to ping me at for any further discussion about this. On the other hand you can catch me @ Happy programming!

In-Sights into Web Services - Part 2

Introduction In the first part of my article we discussed about the various basic elements of Web Se...
  • waterboy
  • waterboy
  • 2004年09月05日 06:06
  • 651


The fglwsdl tool (WSDL and XSD) Topics Using fglwsdlGenerating files for a GWS Client The Web...
  • TSJ888
  • TSJ888
  • 2013年09月26日 15:53
  • 514

RESTful Web Services Part 1 - Definition

Warning before we start nREST!= MVC nDonot think in controllers, IDs, actions, models, views, plug...
  • linyingnan
  • linyingnan
  • 2014年10月16日 15:40
  • 287

AJAX and scripting Web services with E4X, Part 1

Get an introduction to ECMAScript for XML (E4X), a simple extension to JavaScript that makes XML scr...
  • jonathan_q_bo
  • jonathan_q_bo
  • 2005年11月27日 11:33
  • 1326

Web Services, Part 1: SOAP vs. REST

本来想自己写的,网上一搜已经有了,改天有空翻译下。先保存下来Web Services, Part 1: SOAP vs. RESTBy Brennan Spies - Posted on May 2n...
  • linkyou
  • linkyou
  • 2009年01月12日 11:31
  • 1764

SharePoint Framework系列(六)-构建第一个web part

构建你的第一个SharePoint client-side web part client-side web part是运行在SharePoint页面上下文中的client-side组件,Clie...
  • Frank_CAU
  • Frank_CAU
  • 2016年11月25日 13:54
  • 806

使用JAX-WS构建Web Services

 使用JAX-WS构建Web ServicesJAX-WS简写为Java Api For Xml Web Service。JAX-WS是使用XML构建Web Service与Client进行交流通信的...
  • qiudawei115
  • qiudawei115
  • 2007年12月04日 20:40
  • 8653

使用Visual Studio创建简单的自定义Web Part 部件属性

自定义属性使用额外的选项和设置拓展你的Web part部件。本文主要讲解如何使用Visual Studio创建简单的自定义Web Part 部件属性。...
  • u012025054
  • u012025054
  • 2014年06月21日 17:05
  • 1232

SharePoint 创建一个简单的Web Part 部件

本文介绍如何使用Visual Studio创建一个简单的标准Visual Web Part部件。
  • u012025054
  • u012025054
  • 2014年06月21日 14:28
  • 1698

《Web Services Testing with soapUI》书附带的例子下载

《Web Services Testing with soapUI》书附带的例子下载
  • Testing_is_believing
  • Testing_is_believing
  • 2013年05月17日 15:46
  • 3234
您举报文章:In-Sights into Web Services - Part 1