Reflections on Communication Protocols

I've been lately working on implementing the "server" side of a TCP-based communications protocol for one of our clients that struck me a bit odd. The protocol itself is fairly simple, so that's not an issue; it's the messaging pattern that I found somewhat strange given the context under which...

(9^3) - 700

As it happens once a year, every year, today happens to be my birthday. Elevator stops on the 29th floor. Yay to me!

WCF Security Article

Just had a chance to read Keith Brown's article on "Security on Windows Communication Foundation" on last month's copy of MSDN Magazine. Good stuff to keep in mind.

Hex Dump Utility

Sometimes I need to work on applications that involve dealing with sockets, TCP, serial communications or other somewhat low-level stuff. For sockets, the .NET Framework offers the nice NetworkStream class which makes it much easier to read and write to a socket, particularly if you build StreamReaders and StreamWriters on...

FixEncoding Pipeline Component v1.0.0.1

I've just uploaded an updated version of my FixEncoding custom pipeline component for BizTalk 2006 (an update for the BizTalk 2004 version is in the works); you can download it from here. This update is about making the component useful in Send pipelines. The original version only set the Charset...

BTS Suspended Messaging Instances with PowerShell

Continuing with my series on managing BizTalk Server with PowerShell, here's a new script that deals with suspended messaging service instances: #<br /> # declare our parameters: the action to take, and an optional<br /> # path to save messages to<br /> #<br /> param(<br />    [string] $action=$(throw 'need action'), <br />   ...

BTSReset with PowerShell

In a previous post I mentioned that you could work with the WMI interfaces in BizTalk Server easier in PowerShell than you could with C#, and in a more interactive fashion. Here's something else I cooked while playing with the PowerShell RC1: A PowerShell version of my BTSReset tool! Update:...

Administering BizTalk with PowerShell: Part 1

As many of you know, BizTalk Server has a fairly extensive WMI object model you can use to manage and run your BizTalk servers. As even more of you know, WMI is a pain in the neck to work with from pretty much anywhere, particularly C#. However, PowerShell does make it...

Exception Management Rules

Scott Hanselman shares some rules of thumb to manage Exceptions gracefully in your applications. As usual, great stuff from Scott. Here are some of my own I would add: Don't do: throw new Exception("Something Happened");. Please, I beg of you, don't do it. Don't abuse System.InvalidOperationException, either. Chain exceptions. Seriously, chaining...

Troubleshooting Internal SOAP Processing Failures

Richard Seroter has a few good recommendations here on how to diagnose the confusing "Internal SOAP Processing Failure" message you get when a call to a WebService exposed from BizTalk fails. As he mentions, it can be quite confusing and sometimes quite hard to get to the root of the cause if you're...