Remove Action Node mustUnderstand from WCF soap request using IClientMessageInspector

And the answer ends up being very simple in the end.

public object BeforeSendRequest(ref Message aRequest, IClientChannel aChannel)
{
   //For the CabinDetail message the API provider has requested that we REMOVE the XML action node from the header as it causes their end to fail
   //<s:Header>
   //<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none" />
   //</s:Header>
   if (aRequest.ToString().Contains("CabinDetail"))
   {
       int headerIndexOfAction = aRequest.Headers.FindHeader("Action", "http://schemas.microsoft.com/ws/2005/05/addressing/none");
       aRequest.Headers.RemoveAt(headerIndexOfAction);
   }

   return null;
}

Replace

[System.ServiceModel.OperationContractAttribute(Action ="", ReplyAction="*")]

By

[System.ServiceModel.OperationContractAttribute(Action ="*", ReplyAction="*")]