Pages

Saturday, August 22, 2009

What is it?BindingBox is an online application that converts WCF bindings to a customBinding configuration.

Why we need it?WCF bindings capture a general use case and allow us to customize it. For example, basicHttpBinding is good for interoperability with older soap stacks while WSHttpBinding fits WS-* based communication. However, there are cases where we can not use the out of the box bindings. For example:

We want to further customize the binding behind what it exposes. For example, we might want WSHttpBinding not to send a timestamp (for interoperability reasons) but this is not a built in option.

We have a special use case which is not captured by any of the out-of-the-box bindings. For example, we want to use binary encoding over http.

In such cases we need to convert our binding into a custom binding. This is not a trivial process. In particular, some security settings can be very frustrating to translate.

For this reason I have written the WCF BindingBox. This is an online application which automatically converts any binding to a customBinding.

How to use it - Tutorial

Step 1 - Get your current binding

Just open your web.config or app.config file and navigate to the "<bindings>" element. Then copy its content to the clipboard. Be sure to copy the wrapping "<bindings>" element as well:

Using Fiddler2, I could not see the difference between WSHttpBinding and the generated custom binding using your binding box. How can I make this custom binding consumable by a Java client? This is because I have a hard time to make the service consumable if it is in WSHttpBinding.

This is a wonderful tool I have a questions for you though. I am using a x509 certificate. I converted the binding from a wsHttpBinding so I could use the maxClockSkew functionality. I now get Keyset Does not Exist errors. but when I sub my wsHttpBinding back in it works fine. Do you have any thoughts on this. Thanks