text: Here are some simple .NET Web services examples from a recent talk I gave.
  This is a simple Web service that returns the string "Hello, World." You
  should save it as
  HelloWorld.asmx in a virtual directory (that is configured to execute scripts):
  Example 1. Hello, World Web Service
  <%@ WebService Language="C#" Class="OReilly.HelloWorld" %> namespace OReilly { using System; using System.Web.Services; [WebService(Namespace="")] public class HelloWorld : WebService { [WebMethod(Description="Says hello.")] public string Hello() { return "Hello, World."; } } }
  This application acts as a client to the Web service. Before you can
  compile it, use
  wsdl.exe
  to create a proxy class with the command
  wsdl
  <url-of-web-service>?WSDL (for example,
  wsdl). This will create
  the proxy program
  HelloWorld.cs. You can then compile
  HelloClient.cs against it with these commands:
  csc /t:library HelloWorld.cs csc HelloClient.cs /r:HelloWorld.dll
  Run the resulting executable to invoke the "Hello, World" Web service.
  Here is the source code for
  HelloClient.cs:
  Example 2. "Hello, World" Client Console
  // HelloClient.cs // using System; public class HelloClient { public static void Main() { HelloWorld objWS = new HelloWorld(); Console.WriteLine(objWS.Hello()); } }
  Here is an ADO.NET Web service that returns a
  DataSet
  as its result; save it as
  ADOWebSvc.asmx in a virtual
  directory that has script-execute permissions. Before you can use it, you
  must install the .NET QuickStart Samples. You can install examples from Start> Microsoft .NET Framework SDK > Samples and QuickStart Tutorials. Follow the instructions
  to install MSDE
  and the sample data.
  Example 3. ADO.NET Web Service
  <%@ WebService Language="C#" Class="ADOWebSvc" %> // ADO.NET Web Service Sample // based on an example from Chapter 6 of // .NET Framework Essentials // by Thuan Thai and Hoang Q. Lam // (2002, O'Reilly & Associates) using System; using System.Data; using System.Data.OleDb; using System.Web; using System.Web.Services; [WebService(Namespace="")] public class ADOWebSvc : WebService { string cs = "provider=sqloledb;server=(local)\\NetSDK;" + "Integrated Security=SSPI;database=pubs;uid=sa;pwd=;"; [WebMethod(Description="Fetch all authors.")] public DataSet GetAuthors() { OleDbDataAdapter adpt = new OleDbDataAdapter("SELECT * FROM authors", cs); DataSet ds = new DataSet(); adpt.Fill(ds); return ds; } }
  This example will contact the ADO.NET Web service and generate an HTML table that is filled with the result set's data.
  This file should be saved as an ASP.NET file, such as
  ADOClient.aspx. You can save it on the same server that hosts
  the Web service, or on a different server. As with the "Hello, World"
  example, you need to create a proxy using
  wsdl.exe (for example,
  wsdl). You don't need to
  compile it into a DLL. Instead, make sure the client
  (
  ADOWebSvc.cs) is stored in the same directory as the .aspx
  file. Figure 1 shows how this Web page will appear
  in the browser.
  Example 4. ADO.NET Web Service Client
  <!-- ADO.NET Web Service Client based on an example from Chapter 6 of .NET Framework Essentials by Thuan Thai and Hoang Q. Lam (2002, O'Reilly & Associates) --> <%@ Page </body> </html>
  Here is a Windows Forms client that you can link against the
  ADOWebSvc.cs proxy that was generated by
  wsdl.exe. Save this
  as
  WFClient.cs, and compile it with:
  csc /t:library ADOWebSvc.cs csc WFClient.cs /r:ADOWebSvc.dll
  Example 5. Source code for
  WFClient.cs
  // ADO.NET Web Service Client // based on an example from Chapter 6 of // .NET Framework Essentials // by Thuan Thai and Hoang Q. Lam // (2002, O'Reilly & Associates) using System; using System.Drawing; using System.Windows.Forms; using System.Data; class WinFormClient { static void Main() { // Create the proxy. ADOWebSvc proxy = new ADOWebSvc(); // Get the data set. DataSet ds = proxy.GetAuthors(); // Associate a data grid with // the DataSet. DataGrid dg = new DataGrid(); dg.Size = new Size(590, 370); dg.DataSource = ds.Tables[0].DefaultView; // Create a form and add the // DataGrid to it. Form f = new Form(); f.Text = "DataSet/DataGrid"; f.Size = new Size(600, 400); f.Controls.Add(dg); // Start the application. Application.Run(f); } }
  Figure 2 shows this application in action.
  Visual FoxPro wasn't as easy, but you can pull the XML-serialized data set into a text file and start mercilessly chopping away at it until something feeds>
  You want the following
  <NewDataSet> element and everything it contains. The only problem is that some of the elements in it contain references to outer namespaces, as in:
  <Authors diffgr:
  By stripping these out, you end up with something to feed into
  XMLTOCURSOR() and browse (see Figure 3).
  Example 6. Visual FoxPro Client! BROWSE
  Not quite XSLT, but it gets the job done quickly and easily. For documentation on registering Web services with Visual FoxPro and using IntelliSense to insert consumer code, see this MSDN article..