Fletcher is a publicly available Web service that provides an interface to planning resources hosted at North Carolina State University. Clients requesting services from Fletcher send messages using SOAP over HTTP. Our paper titled Fletcher: A Web Service for Planning describes Fletcher in more detail.
Many of Fletcher's inputs and outputs are validated against schemas defined in the W3C XML Schema Definition Language. For inputs, if the data is not valid according to the corresponding schema, the response includes a SOAP fault and the message is not processed. Outputs returned from Fletcher are guaranteed to conform to their corresponding schema and the client developer may program against those schemas. Note that Fletcher is still in early development and the schemas may change in future versions.
Read more about the Liquid Narrative Group's planning schemas.
Fletcher is still in early development and breaking changes may be made to the input and output schemas or to the service interface. However, the current version of Fletcher is available for public use. New versions will become available as improvements are made and old versions may remain available.
Perform the following steps to begin using Fletcher in Visual Studio .NET 2003 (or perform similar steps for other IDEs and programming languages):
FletcherWS class will most likely be in the
ProjectName.WebReferenceName namespace):
FletcherWS fletcher = new FletcherWS();
fletcher.CookieContainer = new System.Net.CookieContainer();
FletcherWS class.
One
common invocation sequence is to create a planning context, expand the
plan space to the first complete plan, and then retrieve that plan.The following example includes these three steps for invoking Fletcher. In order to invoke one of the methods exposed by Fletcher, a planning context document must be created for its input. In the example, it is created based on a domain document and a problem document that are already in memory as well as a heuristic name that is obtained from the Fletcher Web service. The classes in the Planning.Xml assembly are used to do create the planning context document (the Planning.Xml assembly is described in the planning schemas section). Alternatively, the planning context document could have been read from a file.