BizTalk NULL Adapter Install

Great little adapter sample that essentially allows us to implement pipeline processing without routing the message anywhere.  As per the name the NULL adapter effectively throws away or terminates a message sent to it and cleanly shuts down without suspending messages etc.  I’ve used this adapter on a number of projects successfully but always seem to forget the steps to install and configure on my development box.  Logged here for future reference,

  1. Ensure the source code is signed and compile and GAC it.  Post build events are handy here.
  2. Ensure the paths to the assembly are correct in the NullAdapter.reg file.
  3. Import NullAdapter.reg using RegEdt.exe
  4. Import NullAdapter.reg using RegEd32.exe
  5. Use the 32 bit version of regasm to register the assembly, other wise the BizTalk admin console will throw error 80050154 when you try to configure the NULL adapter on a port.  Regasm can be found at for example, C:\Windows\Microsoft.NET\Framework\v4.0.30319

Job done!  Of course you then need to register the adapter with BizTalk by opening up the BizTalk Administration console and adding the adapter under Platform Settings->Adapters.

Oh, and you can get the adapter source code from here.  The sample is from way back in the BTS04 days but I’m using it on BizTalk 2013 at the moment without any problems at all.  The adapter framework hasn’t changed a whole lot to my knowledge.

 

Advertisements
This entry was posted in BizTalk Server. Bookmark the permalink.

7 Responses to BizTalk NULL Adapter Install

  1. Dalton says:

    I am having a problem adding the NULL adapter to my BizTalk 2013 environment. I followed your instructions on both app servers, but receive the following exception when I try to add it on either of the 2 servers. Have you seen this before?

    Object reference not set to an instance of an object. (Microsoft.BizTalk.Administration.SnapIn)

    ——————————
    Program Location:

    at Microsoft.BizTalk.Administration.SnapIn.Forms.Adapter.General.Store()
    at Microsoft.BizTalk.SnapIn.Framework.Forms.PropertyPagesContainer.StorePage(PageFramework page)
    at Microsoft.BizTalk.SnapIn.Framework.Forms.PropertyPagesContainer.StorePages()
    at Microsoft.BizTalk.SnapIn.Framework.Forms.PropertyPagesContainer.Store()
    at Microsoft.BizTalk.SnapIn.Framework.Forms.SheetFramework.Store()

  2. Jerome says:

    Hi,
    I would just add that if you are installing this adapter (wich is a 32bit adapter) on a 64bit machine, in the NullAdapter.reg, you have to change all the registry path to:
    HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{GUID}

  3. Jason says:

    Hi

    I have built and installed the adapter, and assigned it to a send port. However when I try and pass a file through my application i get this error … Any thoughts?

    The Messaging Engine failed to create the transport adapter “Null Adapter”.
    OutboundAssemblyPath: “C:\Program Files (x86)\Microsoft BizTalk Adapter Pack\binWinterdom.BizTalk.Adapters.NullAdapter.dll”
    OutboundTypeName: “Winterdom.BizTalk.Adapters.NullSendAdapter”
    Exception Details: “Could not load file or assembly ‘file:///C:\Program Files (x86)\Microsoft BizTalk Adapter Pack\binWinterdom.BizTalk.Adapters.NullAdapter.dll’ or one of its dependencies. The system cannot find the file specified.”

    • Just looking at that error have you missed a \ in your path from your reg file?

      i.e. between bin and Winterdom
      Pack\binWinterdom.BizTalk.Adapte

      If you have then drop the adapter in the BizTalk admin console, fix the path to the dll in your reg file and re-run it. Then re-register the adapter.

  4. Antti Somersalo says:

    Interestingly Logic Apps Adapter uses the same GUID as Null Adapter for OutboundEngineCLSID.
    This conflict makes Logic Apps Adapter installation to fail.
    I had to change the GUID for Null Adapter but how did Microsoft end up using the same GUID?

    • Possibly the two authors of the LogicApps and NULL adapter used an SDK sample as the base. Would be interesting to look through the SDK adapter samples and see if it also uses the same OutboundEngineCLSID.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s