21-05-2013, 03:36 PM
Calling a Web Service from an ASP.NET Web Page
Calling a Web.ppt (Size: 81.5 KB / Downloads: 46)
ABSTRACT
Ideally the developer calling a Web service from an ASP.NET Web page should be able to work with the Web service using the same syntax as if she was working with a component local to the Web server.
Since calling a Web service involves marshalling the ingoing parameters properly and being able to marshal the return parameters properly, obviously performing such actions in an ASP.NET Web page would make the syntax differ wildly from using a local component, where such explicit marshalling was not needed.
Enter the Proxy Class
In order to achieve the end goal of treating a Web service call just like a call to a local component, the .NET framework contains a command-line program called wsdl.exe (Web Service Description Language), which creates a proxy class for a specific Web service.
This proxy class serves as an intermediate between the ASP.NET Web page and the Web service. (The diagram on the next slide should help clarify this…)
Creating a Proxy Class
Creating a Proxy class involves three steps:
Create the source code for the class, which depends upon the WSDL of the Web service.
Compile the class into a DLL
Copy the DLL to the \bin directory
Once these three steps are complete we can use our Proxy class to access Web service methods as if they were methods of a local component!
Examining the Proxy Class
Let’s take a moment and examine Math.cs, the source code for the Proxy class created by wsdl.exe
Examine Math.cs
Note that the Proxy class is in C# - wsdl.exe provides a command-line switch to specify what language to use.
Note that a class is created with the same name as the Web service class (Math, in this example). Also, for each public Web method there is a public method in the Proxy class with the correct input and output parameters.
Module 2 in Conclusion
Ideally, we’d like to be able to call Web services from an ASP.NET Web page in an identical fashion to which we call local components.
Creating a Proxy class allows us to call a Web service’s methods as if the Web service resided locally. The Proxy class handles the actual HTTP request as well as the marshalling of the input and output parameters.
The command-line program wsdl.exe can create the source code of the Proxy class for us based upon a Web service’s WSDL. Once this class is compiled and placed in the \bin directory, it can be used through an ASP.NET Web page.