After thinktecture StarterSTS has hit the 5,000 downloads mark a few weeks ago (congrats again, Dom!), we now have hit 10,000 for our WCF-based Web Services contract-first tool WSCF.blue.
As a developer it’s almost inevitable running into XML-based Web Services these days. Literally, they are everywhere. Web Services are often available as either REST style services or SOAP messaging style services built using various tools and running in different operating environments. Therefore, a number of standards have been defined over the years in order to ensure seamless interoperability between Web Services running in different operating environments. However, it is still somewhat challenging to develop interoperable Web Services because of how different platform vendors support industry standards. This whitepaper is written based on an interoperability analysis carried out between .NET 4 and three major Java based platforms - IBM Web Sphere, Oracle WebLogic and Oracle Metro (referred as Java client/server systems hereinafter).
Interoperable Web Services use universal type system - XML Schema Definition (XSD) constructs to define the data and message structures used for communication. However, the advanced tools and runtimes used for Web Service development usually abstract the details of XSD (and other protocols) from the developer. As a result developers can elaborate their Web Services using the programming language artifacts they are familiar with and leave the heavy lifting to the tooling/runtimes to translate those into the standard format. Even though some developers favor developing their type system using XSD (also known as schema first development), interoperability issues still arise due to limitations in various platforms for some XSD features. In this whitepaper, our analysis primarily focuses on the interoperability problems that occur while translating XSD artifacts to various platform level artifacts and vice versa.
[…]
Some illustrations used in paper are considered as bad practices for designing Web Service contracts. This paper acknowledges those shortcomings but provides those samples nevertheless to demonstrate the consequences.
Was suprised at the lack of contract-first (from WSDL) support in WCF, but your tool came to the rescue. It allowed me to generate WCF proxies from a Java web service, getting all the attribute markup on the proxy correct first time. This saved me hours and hours of laborious manual trial-and-error. Thank you - a highly recommended tool
For the how we focus on WCF, the built-in support in Visual Studio and
the command tools. Then move on to show some basic first steps to do schema-based contract-first with WSCF.blue.
Enjoy.
Get it while it's hot.
In July we announced the Beta 1 and now we can give you the first released version of the number one Web Services Contract-First tool for WCF.
Notable features in WSCF.blue v1.0:
A WSDL Wizard that allows the developer to step through the creation of a
WSDL from one or more XSDs.
A Data Contract Generator (similar to XSD.exe, XSDObjectGen.exe and
SvcUtil.exe) that generates the .NET equivalent classes of the XSD types.
A Service/Endpoint Stub (support for self-hosted and web-hosted) Generator and
A Client Proxy Generator.
A Generate Data Contract Code feature that supports the selection of
multiple XSD/WSDL source files.
A Paste XML as Schema option that generates a schema for a block of XML
in the clipboard.
Support for C# and VB.NET code generation.
You can choose if operation methods on your service class will throw a
NotImplementedException, call an implementation method in a partial class,
or will be defined as abstract methods.
Force the SOAP actions (Action and ReplyAction) applied to each
operation contract follow the standard WCF format
Errors found while processing the WSDL are reported in a WSCF.blue pane in the
Visual Studio Output window.
Thanks for all the hard work to the team - especially the new WSCF.blue code master, Alex Meyer-Gleaves!
On to planning v2 now...
It has been a long time where I originally built the Web Services Contract First tool... I am getting old. This tool - briefly called WSCF - (available both as a command line utility and a simple Visual Studio add-in) was targeted at the ASMX platform. WSCF evolved until version 0.7 which still works on ASMX and within Visual Studio 2005 and 2008. ... and then there was silence... a long period of silence... a too long period of silence... and I still feel sorry about this. People were longing for schema-based contract first tool support for the Windows Communication Foundation (WCF) - and I couldn't do it due to a lot of work in customer projects.
Fast forward to 2009: I am a happy guy because I found a set of intelligent and super motivated coding heroes who now have now released the Beta 1 version of WSCF.blue: The WSCF tool for WCF. These heroes are namely:
WSCF.blue is hosted over at CodePlex. Please go and grab it, test it and... please provide any feedback you have! Thanks for being patient. The wait is over now.
Agreed: there has never been a really good relationship - let's not even start talking about friendship - between Germans and Brits. Let's forget about this for a while... working together with an industry luminary like Richard Blewett is more than I could ever wish.
Luckily enough, Richard joined thinktecture this week as a high-class consultant - welcome! Working with Rich (subscribe to his blog here) is surely going to be a lot of fun.
I know that so many people waited for this - now it is for real: get our famous, most-wanted and original WSCF 0.7 (we call it WSCF.classic nowadays when compared to WSCF.blue, the WSCF tooling for WCF) in source code form CodePlex and improve it.
We decided to open up the development and the code of our very successful WSCF tool - but not the original one for ASMX-based Web Services, but rather the new incarnation for WCF. Unfortunately, neither of us has enough time these days to spend on a free tool like this. Therefore we invite the community and everybody interested to participate in WSCF.blue development over at its new CodePlex home.
Currently, there are three people trying to contribute to WSCF.blue: -Edward Bakker (the designated project leader) -Buddhike de Silva (coding wizard and hacker of almost 80% of WSCF 0.7) -Benjamin Santosh
I can imagine that WSCF.blue will evolve into a very useful tool with all these fantastic people working on it.
Please note that we also no longer support the WSCF forums - just for the same reasons. Sorry :(