WCF LOB Adapter SDK Tutorial and BizTalk 2006 R2

I recently went through the WCF LOB Adapter SDK Tutorial, and tried to use the echo adapter from BizTalk. It worked after a couple of tweaks.

Consuming the outbound part of the adapter involved the following gotchas:

  • Remember to specify the SOAP header action in the send port properties.

    Sendport properties

  • I hadn’t touched Abort() and ClearContext() in EchoAdapterConnection, either because I didn’t follow the tutorial properly or because it doesn’t say to do so. Either way, I got NotImplementedException. So I removed the line throwing this exception from these two methods.

When consuming the inbound part, I had trouble with the action. There is no place to input the action in the receive location configuration dialogue. And without action, I got the following error:

The Messaging Engine failed to update the configuration for the receive location "EchoAdapterSample" with URL "echov2://localhost/echolob?enableAuthentication=False" for adapter "WCF-Custom". Reason: "Microsoft.ServiceModel.Channels.Common.AdapterException: Unable to receive any actions for inbound handler to start listening.

The simplest way to solve this is to add an extra parameter action to the address, e.g. echov2://localhost/echolob?enableAuthentication=False&action=Echo/OnReceiveEcho.

A more complex (but perhaps cleaner) way is create a new endpoint behavior. This is described in How To: Obtain a list of receive actions when an ASDK-based Adapter is used with BizTalk in a Receive Location. One or more actions can now be input by inserting the new behavior on the Behavior tab. See the blog post Using EchoAdapter in BizTalk 2006 R2 for a screen shot.

Advertisements

Upgrading HP MediaSmart Server (EX470, EX475) Memory

I am very satisfied with my HP Media Smart Server and with Windows Home Server running on it. But one definite disadvantage is the limited amount of factory installed memory. After installing some additional services (e.g. SqueezeCenter, Lights Out and WebGuide) the server can become sluggish. So I bought a 2 GB DDR2 (Kingston ValueRAM DDR2 PC5300/667MHz CL5 2GB) from inWarehouse for 219 SEK, then used this excellent guide to install it. Worked perfectly!

Renaming a SQL Server

When you rename a computer where SQL Server is installed, clients can use the new name without any further reconfiguration, but sys.servers still contains the old name, and if you SELECT @@SERVERNAME you also get the old name. This causes problems with the BizTalk backup job. So you have to change the server name like this:

sp_dropserver ‘old name’
sp_addserver ‘new name’, ‘LOCAL’