thinktecture has hit the 10,000 downloads landmark on CodePlex

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

[Want to learn more about it and the idea behind it…? Read this MSDN Magazine article]

Thanks to a great team!


Whitepaper: The ins and outs of data type interop between .NET/WCF and Java – add it to your [web] services tool belt

Recently, Buddhike and I wrote a whitepaper for MSDN which details the mapping of .NET/WCF and Java data types in a XML/XSD-ruled world.

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.

Topics being covered:

  • Primitive Types
    • .NET Server to Java Clients Mapping
    • Java Server to .NET Client Mapping
  • Arrays and Abstract Data Types
  • Date & Time
  • Guid
  • List
  • Dictionary
  • Queue
  • Stack
  • Tuple
  • Binary Data
  • Programming Language Constructs
    • Inheritance
    • Generics
    • Interfaces

Hope this article helps someone out there.

"A highly recommended tool"

This is good to read – just feels good:

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

If you want to try out be sure to download the latest version 1.0.10 here:

MSDN Magazine: Contract-First Web Services - Schema-based Development with Windows Communication Foundation

Buddhike and I wrote a small overview article on why contract-first and especially how contract-first.

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


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 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 pane in the Visual Studio Output window.
Thanks for all the hard work to the team - especially the new code master, Alex Meyer-Gleaves!
On to planning v2 now...

thinktecture auf der BASTA! Herbst 2009

Es lohnt sich auf die BASTA! zu kommen, auch weil viele thinktects anwesend sein werden :)

Dominick Baier:
  • Sessions:
    • X509-Zertifikate – Lösungen statt Probleme!
      23.09.2009 | 14:00 - 15:15 Uhr
    • Single Sign-On für ASP.NET-Webanwendungen
      23.09.2009 | 15:45 - 17:00 Uhr
  • Workshop:
    • Verteilt, sicher, pragmatisch – Wie fange ich an?
      25.09.2009 | 09:00 - 16:30 Uhr

Richard Blewett:
  • Sessions:
    • Generics, Lambdas and Extension Methods - Beyond List
      22.09.2009 | 14:00 - 15:15 Uhr
    • Contract-First Design with WCF
      22.09.2009 | 15:30 - 16:45 Uhr
    • Generics, Lambdas and Extension Methods - Beyond List
      23.09.2009 | 14:00 - 15:15 Uhr

Jörg Neumann:
  • Sessions:
    • Design und Realisierung von sicheren Add-in-Modellen
      23.09.2009 | 10:15 - 11:30 Uhr
    • Transactions 2.0
      23.09.2009 | 17:15 - 18:30 Uhr
    • Dynamische Verbindungen mit WPF Data Binding
      24.09.2009 | 10:15 - 11:30 Uhr

Ingo Rammer:
  • Sessions:
    • .NET Production Debugging - Erste Schritte
      22.09.2009 | 09:30 - 10:45 Uhr
    • Advanced Debugging with Visual Studio
      22.09.2009 | 15:30 - 16:45 Uhr
    • Tasks and Threading in .NET 4.0
      24.09.2009 | 08:30 - 09:45 Uhr

Christian Weyer:
  • Sessions:
    • WCF - Tipps und Tricks
      22.09.2009 | 09:30 - 10:45 Uhr
    • WCF 4.0: Was ist neu?
      22.09.2009 | 11:15 - 12:30 Uhr
    • .NET Service Bus: Grenzenlose Kommunikation
      22.09.2009 | 17:15 - 18:30 Uhr
  • Workshop:
    • Verteilt, sicher, pragmatisch – Wie fange ich an?
      25.09.2009 | 09:00 - 16:30 Uhr

Wir freuen uns auf Sie und viele interessante Gespräche und Diskussionen in Mainz!

Next generation of a success story: for WCF goes Beta 1

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 The WSCF tool for WCF.
These heroes are namely: 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.

OK, he is British...: Richard Blewett joins thinktecture

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.

WSCF.classic: WSCF 0.7 now open source on CodePlex

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, the WSCF tooling for WCF) in source code form CodePlex and improve it.

'Nuff said. The WSCF tool for WCF now on CodePlex

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 development over at its new CodePlex home.

Currently, there are three people trying to contribute to
-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 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 :(

Community: it's your turn :)
Have a good time.