WAS Listener Adapter Hang

09/12/2009

8 comments

This post was written after I wasted invested several hours in getting a non-HTTP WCF 4.0 workflow service hosted in the Windows Process Activation Service (WAS), in hope that the next person who stumbles upon this would find it in Google Bing or something…

Assume you want to host a WCF 4.0 service in WAS on a Windows 7 environment. Lets further assume that this WCF service is non-HTTP activated, meaning that it uses TCP, MSMQ or named pipe bindings. One of the steps required for accomplishing the above is starting an appropriate listener adapter service for the binding we want the use. So for an MSMQ binding we need to start the “Net.Msmq Listener Adapter Service”.

Service List

If we assume that you already have IIS and MSMQ properly installed on your machine, starting the service might hang and the following message might appear in your Windows application log:

Listener Adapter protocol ‘msmq.formatname’ is waiting to connect to Windows Process Activation Service.  This event will only be logged once.  Cause: This could be caused by either Windows Process Activation Service not being started, the protocol not being configured in <listenerAdapters> section, or another process already connected as Listener Adapter for that protocol.  Fix: Ensure that Windows Process Activation Service is running, the protocol is configured in the <listenerAdapters> section, and that another process has not already connected as the Listener Adapter for that protocol.

Application Log

After checking that the WAS service is running and assuming that no other process has connected as a Listener Adapter for MSMQ, you reach the conclusion that MSMQ (or any other non-HTTP protocol for that matter) doesn’t appear in the <listenerAdapters> section of applicationHost.config. At this point you might try searching how to configure this section, leading you to this .NET 3.5 sample page which explains pretty much what you want to do (even though you’re interested in .NET 4.0), but it doesn’t refer to the <listenerAdapters> section at all. You’ll also find these pages but they don’t help much either.

The solution, and even though you’re using .NET 4.0 over the latest Windows 7 you should not skip this important step – Go to “Control Panel –>  Turn Windows features on or off” and there under “Microsoft .NET Framework 3.5.1” (yes, yes, even though you want .NET 4.0) select “Windows Communication Foundation Non-HTTP Activation”. That’s it.

 Feature Selection

I think the naming and organization of features could have been a little better…

As an extra – if you install Windows Server AppFabric it does this for you.

Add comment
facebook linkedin twitter email

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

8 comments

  1. JeFF27/08/2010 ב 14:39

    Thx a lot pal, you saved my life !

    Exchange 2010 SP1 won’t install because the “iisreset /restart” command could not complete. After looking in what was happening to web services I realized that some where stuck in “starting” status.

    Your advice did the trick !

    The setup was in an Hyper-V machine running windows server 2008 sp2 and exchange 2010 SP0.

    Reply
  2. Eran Stiller27/08/2010 ב 16:14

    @JeFF:
    Nice to hear that!
    Thanks for your feedback.

    Reply
  3. WCF non-HTTP activation doesn'st run?06/04/2011 ב 19:26

    I try to turn the feature ON, but received an error saying that it can’t start. No other error message

    Reply
  4. Eran Stiller07/04/2011 ב 09:05

    Have you tried looking at Windows’ application and system event logs?

    Reply
  5. Yılmaz Örer10/10/2011 ב 10:42

    Thank you Stiller, but on our servers, although this feature is in the on status, we have this problem. Problem, mostly occurs after the deployments!!! By doing iisreset, it disappears. 😐

    Reply
  6. Jimbo17/10/2011 ב 20:47

    Awesome post! This worked for me! Great job!

    Reply
  7. Adam24/04/2012 ב 02:05

    Worked – thank-you!

    Reply
  8. Kamesh10/02/2016 ב 14:47

    Hi, Information provided is very much useful. Thanks

    Reply