370 likes | 536 Views
XML Web Services. ASP.NET. Overview of Web Services (Page 1). Web Service Part or all of a Web application that is publicly exposed so that other applications can interact with it. The code itself is not exposed, the interface is Accessible through standard Web protocols
E N D
XML Web Services ASP.NET
Overview of Web Services (Page 1) • Web Service • Part or all of a Web application that is publicly exposed so that other applications can interact with it. • The code itself is not exposed, the interface is • Accessible through standard Web protocols • Platform independent • Remote Procedure Call (RPC) • Used to call another application on the Web server
Overview of Web Services (Page 2) • Browser • Is a client of the Web application. • Does not know the Web server communicates with a Web service • Web Server = Web Service Client • Delivers content to a browser • Does not know that Web Service is communicating with any back-end applications or data sources
Using Visual Studio .NET to Create and Consume Web Services • Web Services • The core of the Microsoft .NET vision • Microsoft and IBM worked together to create the XML Web Services standards • Web Services can be created using a variety of developer tools and programming languages • A sample "Business-to-Business" Web Service • Tara Store • Creates a Web Service which provides product data • MaryKate’s Housewares • Integrates product data into its own Web site
Building a Web Service • Web Service file extentions • .asmx and .asmx.vb for the code behind the page • Import System.Web.Services namespace • Three major components • Web Service on the server • Web Service client application that calls the Web Service via a Web reference • A WSDL Web Service description document that describes the functionality of the Web Service
Web Services Standards and Protocols • HTTP protocol – can be used to deliver documents through proxy servers and firewalls • Pass parameters with a QueryString using HTTPGet • HTTPPost passes parameters as a URL-encoded string, which contains form field names and values attached to the body of the message • SOAP (Simple Object Access Protocol) is default method by which ASP.NET internally calls a Web Service
Creating a Web Service (Page 1) • To create the WebService document: • Select Project from the menu bar • Select WebService… from the Project menu • Verify that "WebService" is the selected Template, give it a name (i.e. "ServiceTSCategories") and click the <Open> button • Keyword WebService comes before class header • Statement is part of the class header • Must be qualified if the System.Web.Services namespace is not imported
Creating a Web Service (Page 2) • Properties for the keyword WebService: • Namespace property • Unique URL which distinguishes your Web Service from others (default domain is "tempuri.org") • Replace with your organization’s domain name • Description property • Used to provide information about your Web Service • Can include HTML commands • Name property • Name displayed in the Web Service home page.
Creating a Web Service (Page 3) • Example: <System.Web.Services.WebService _ (Namespace:="http://tarastore.com/", _ Description:="<H2>Displaying Data from the Tara Store Database</H2>", _ Name:="Chapter 11 Web Service")> _ Public Class ServerVariables ... End Class
Creating a Web Service (Page 4) • In Visual Studio .NET compiling the Web Service generates the WSDL document, DISCO document and test Web page
The Web Method (Page 1) • Create new function in "Code Behind the Page" • Exposes the method to applications in which the WebService is instantiated • Keyword WebMethod comes before class header • Statement is part of the function header • Must be qualified if the System.Web.Services namespace is not imported (like WebService)
The Web Method (Page 2) • Properties in statement prior to method header: • BufferResponse property • Store the response on the server until the entire function is processed • If set to True, improves server performance by minimizing communication • CacheDuration property • Number of seconds to cache Web service results • Automatically cache the results for each unique parameter
The Web Method (Page 3) • Properties before method header (con): • MessageName property • Name for the method displayed in the Web page • Uses the name of the function or method if this property is not included • Description property • Can format the description with HTML
The Web Method (Page 4) • Example: <WebMethod(CacheDuration:=10, _ Description:="HelloWorld() says hello.")> _ Public Function HelloWorld() As String Return "Hello World" End Function
Previewing the Web Service Home Page (Page 1) • View the Web Service home page in a browser • http://localhost/Ch11WebService/Ch11WS_ProductsDS.asmx • Click the hyperlink GetCatMethod() takes you to URL: • http://localhost/Chapter11WebService/Ch11WS_ProductsDS.asmx?op=GetCat()+Method • Click the <Invoke> button to test GetCatMethod() • XML document returned (XML data within a DataSet element) • Top section describes data; bottom section contains data
Previewing the Web Service Home Page (Page 2) • Go <Back>, enter hyperlink for Service Description • View the service contract • Service Description URL – "?WSDL" is appended to Web Service URL • http://localhost/Ch11WebService/Service1.asmx?WSDL
Using a Web Service (Page 1) • Call Web Services via protocol: • HTTP Get or HTTP Post • Limit to primitive data types (integers, strings, arrays of primitive data types) • SOAP (Simple Object Access Protocol) • Send any structure, class or enumerator, i.e. a DataSet
Using a Web Service (Page 2) • Send information over Internet, packaged in a format that can travel over a TCP/IP network • Serialization - changing an object into a form that can be readily transported over the network • Deserialization - change the string back into the original structure • If the document is in XML format • Use LoadXML method of the XML Document Object Model (DOM) to retrieve the XML data
Consuming a Web Service from an ASP.NET Page (Page 1) • In Web Form application, add a Web Reference in Solution Explorer • Select Project from the menu bar • Select Add Web Reference… from the Project menu (or right-click "Web References" in Solution Explorer) • Find or enter the Web Service URL, i.e. • http://localhost/Chapter11WebService/Ch11WS_ProductsDS.asmx • Give the reference a Web reference name: • Click the <Add Reference> button
Consuming a Web Service from an ASP.NET Page (Page 2) • Create an object from the Web Service reference • Call a WebMethod of the Web Service • Example: Dim dsProducts As New DataSet Dim objWebService As localhost.Chapter11WebService = New localhost.Chapter11WebService dsProducts = objWebService.WS_GetProducts() dgProdList.DataSource = dsProducts.Tables(0) dgProdList.DataBind()
Consuming a Web Service from an ASP.NET Page • Create a new WebForm—WebForm2.aspx • Add a DataGrid— • ID--dgCategories
Locating Web Services • UDDI - directory service for registering and searching for Web Services • Third-party Web Services • www.xmethods.net • www.coldrooster.com • www.asp.net • www.gotdotnet.com • Local Web Services • Discovery document points to Web Services