One of the most interesting things you can get to experience when you're working with development is bug reports from a customer that impacts their business, but no one is really sure what is the underlying cause. Another thing that we developers love is war stories from the trenches, and this is one of those war stories. We got a report stating that operations people were starting to see the following TransactionInDoubtException exception.
I have previously discussed Microsoft's DIME implementation in their Web Service Enhancements 1.0 library for .NET. Namely the part where they manage to break any and all support for non-ASCII SOAP transfers. It seems as if they've rectified this grivious mistake in version 2.0 of WSE, so now we can have international messages, yay! Of course we have to rebind our solutions, re-test and all, but hey, what don't we do to get them internation characters delivered to our doorstep?
Lately at work I have been on a project where we needed to implement a web service client. A part of this client is accepting a series of files passed as DIME attachments. Since .NET doesn't implement this on its own we had to dig forth the Microsoft WSE 1.0 library, which features a series of extensions to the normal web service programming support. To understand the full conundrum let us back up a bit.