Unable to enable WCF-Custom Receive Location – Error: System.PlatformNotSupportedException

Recently I came across an issue in BizTalk Server in which we were getting the following error while trying to enable a WCF - Custom receive location:
 The Messaging Engine failed to add a receive location "ABC" with URL "ServiceURL" to the adapter "WCF-Custom". Reason: "System.PlatformNotSupportedException: Operation is not supported on this platform. 
   at System.Net.HttpListener..ctor()
   at
System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen() 
   at
System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener) 
   at
System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
   at
System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout) 
   at
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
   at
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
   at
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
   at
System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout) 
   at
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
   at
Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint.Enable() 
   at
Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiveEndpoint..ctor(BizTalkEndpointContext endpointContext, IBTTransportProxy transportProxy, ControlledTermination control)
   at
Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfReceiver`2.AddReceiveEndpoint(String url, IPropertyBag adapterConfig, IPropertyBag bizTalkConfig)".

The receive location was handled by a BizTalk Server Host Instance which was running on two different machines.
The receive location was getting enabled when we were run the host instance only on one of the machines but giving the above error while enabling the host instance on the other machine.  

Opened a command prompt under the context of the host account on both the machines, executed whoami -all to find the permissions for this account. We found that the user account which was configured to run the host instance was not part of the IIS_USERS group on the box which showed the failure. This user account was not added/or was removed from the IIS_USERS group on one of that server causing the receive locations to fail. Once we added the host’s user account to the group, the receive locations were successfully enabled.

Hope this helps..!!

 

Written By
Rasika Chaudhary

Reviewed By
Jainath V R

Microsoft India GTSC