Issuing a Web Service Request
You can use the .NET Framework’s networking and XML classes to write code to issue web service requests and handle the responses quite easily. First, I’ll show you how to write the code yourself; then I’ll show you how to use the .NET Framework to generate the code for you.
Issuing an HTTP GET request
Once you
have the InventoryQuery
web service, it is
possible to write a simple client that invokes the
GetNumberInStock
method over HTTP GET. Example 10-4 shows one possible implementation.
using System; using System.IO; using System.Net; using System.Xml.XPath; public class GetNumberInStockHttpGet { public static void Main(string [ ] args) { WebRequest request = WebRequest.Create("http://127.0.0.1/dotNetAndXml /InventoryQuery.asmx/GetNumberInStock?productCode=803B"); request.Method = "GET"; WebResponse response = request.GetResponse( ); Stream stream = response.GetResponseStream( ); XPathDocument document = new XPathDocument(stream); XPathNavigator nav = document.CreateNavigator( ); XPathNodeIterator nodes = nav.Select("//int"); Console.WriteLine(nodes.Current); } }
This example uses several classes you’ve seen
before, including WebRequest
,
Stream
, and XPathNavigator
, to
send a web service request to a URI and parse the response. If it
doesn’t look fairly intuitive at this point,
I’d suggest reviewing Chapter 2
for a refresher on basic I/O, Chapter 4 for HTTP
requests, and Chapter 6 for XPath. ...
Get .NET & XML now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.