Introduction
WSCF.blue is the WCF version of the orginal
Web Services Contract First tool.
When developing Web Services, the first step is usually to
- Design your contract's data, messages and interface
- Generate code from the contract
This first step can be done either in code or can be done with XML and XSD. As it turns out a number of enterprise scale projects prefer to take the second option. And for many integration and application development scenarios (not only at the enterprise level) it is customary to negotiate a WSDL/XSD based specification for the web services and then to embark on the actual development of the code that implements that specification. However, dealing with raw XML and WSDL can be very error-prone. WSDL in particular is non-trivial to handle as the original WSDL specification allows room for some complicated constructs and contracts to be defined. We need tools that can enable us to work at this level consistently and reliably and
WSCF aims to address this need.
The WSCF.blue tool
WSCF.blue is a Visual Studio 2008 add-in that provides the following features
- A WSDL Wizard that allows the developer to step through the creation of a WSDL from one or more XSDs
- A DataContract generator (similar to XSD.exe, XSDObjectGen.exe and Svcutil.exe) that generates the . NET equivalent of the XSD types
- A service/endpoint stub (SVC) generator and
- A client proxy generator.
For the endpoints and the client proxy, WSCF also generates the necessary configuration file.
Current Release
The current release is the first Beta. This is an MSI which should install the Visual Studio Add-In.
For users of the source code, do note that it is now possible to just debug using F5 as there is a post-build step attached to the add-in project (.ContractFirst project) which launches VS in the experimental hive so there is no need to install the MSI first.
Pre-requisites
- Visual Studio 2008 SP1 (and .NET 3.5 SP1).
Current Priority 1 Issues:
- No standalone Generate Data Contract option : For the current release please note that the standalone Generate DataContract option is not available. However, data contracts are generated as part of the service side stubs and client side stubs. We are looking into the standalone DC generation feature and aim to make it available by RTM.
- A reference to Thinktecture.ServiceModel.Extensions.Metadata assembly is not automatically added when “Enable WSDL Endpoint” option is chosen.
- Generated code does not define a host base address and metadata endpoint extension configuration does not generate an absolute URI for the endpoint by default. This angers the service host if you try to initialize it with generated config. In order to fix this you always have to go and specify an absolute URI for metadataUrl parameter in metadataService configuration element.
WSCF 'Classic'
The previous version of the WSCF tool (v0.7) which targeted ASMX / .NET 2.0 is now available in source form here at CodePlex and it is called
WSCF.classic.
Walkthrough / Documentation
A detailed scenario-based step-by-step guide for WSCF 0.7 available
here. A lot of that material is still relevant and applicable for this WCF version. We plan to have a new walkthrough available soon focussing on the WCF aspects.
Roadmap
We have a number of ideas as to where we would like to take this tool and will be publishing a roadmap shortly which we will invite you to vote on so we can priortise the features. However, right now , we would really appreciate your feedback on the quality of this release and your bug reports and other suggestions. We will endeavour to fix them as soon as possible. (If you would like to join the project and help us implemnet some of the features, fix the relevant bugs etc please send us a note).