The FoxCentral Web Service is meant to be a central data store for various providers to publish data to. Providers are signed up for the Web Service and once signed up each provider can post news items and other content as needed. The Web Service acts a central depository of this data that can then be retrieved in a variety of different ways.

Once providers have posted news items to the service the data can be consumed in a variety of different ways. The default HTML based home page you can see at www.foxcentral.net is one example that uses the Web Service to pull its data.
- HTML based Web Applications
The FoxCentral Home page is one example application that uses the Web Service to display the latest news and provides the filtering views to access that data. While that's probably not the most efficient use of the Web Service on the local machine (because you could of course access the business objects directly) other companies can use this mechanism to access this data over the Web directly. For example, the West Wind Message Board uses a customized version of the Web backend to provide a custom view that defaults in showing only West Wind specific items with options to see other content. The data in this case is pre-filtered. This also allows for news items that are public or private to be kept and managed through a single interface that is Web accessible. - Fat Client Applications
The FoxCentral Web Service can also be integrated into fat client applications. A couple of examples of this integration are Ken Levy's fcNet FoxPro client that uses the Web Service to display a small pop up form with the latest news and items. The Provider Item management form is another example of a Fat Client application utilizing the Web Service to manage the content of the items that are displayed for each provider. - Other Web Services and Web Sites
Other Web Services can also use the service to either retrieve or post data to the service. One example is the Universal Thread site and Web Service which posts news items on a regular basis to the FoxCentral Web Service.
Design of the Web Service
The FoxCentral Web Service was designed using Visual FoxPro 7.0 and uses a single Web Service class that acts as a front end to the business objects that control access to the FoxCentral data.

The Web Service client examples provided also use a Web Service Proxy object (very much like .Net) and a client wrapper class that wraps the proxy to provide error handling and consistent return values of the data. So rather than returning XML the wrapper class actually. The Web Service methods themselves use very simple methods to pull data from the business objects and then converts that data into XML for sending as result values. As such this Web Services passes data around culled from VFP Cursors and Objects which are exported into XML and passed over the wire. The client Proxy then picks up the SOAP call and returns the plain result value (XML strings) to the client. The Client Wrapper class takes the XML result string and converts it back into a Fox useable construct such as a cursor or object so that the actual front end application (GUI, Web Backend, Web Service) never has to worry about doing XML conversions. Instead the front end application works only with native VFP structures. The Client wrapper also checks for any errors that occur on the proxy object and provide simple properties that can be easily checked for for error conditions.