/// <summary>
 /// Sets OperationContractAttribute Action="*" or ReplyAction="*".
 /// </summary>
 /// <param name="source">The source.</param>
 public static void SetActionWildcard(this MessageDescription source)
 {
     if (source != null)
     {
         PropertyInfo propertyInfo = source.GetType().GetProperty(MessageDescriptionActionPropertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
         propertyInfo.SetValue(source, WildcardAction, null);
     }
 }
        /// <summary>
        /// Removes OperationContractAttribute Action="*" or ReplyAction="*".
        /// </summary>
        /// <param name="source">The source.</param>
        /// <returns>true if the source OperationContractAttribute has wildcard action; otherwise, false.</returns>
        public static bool RemoveActionWildcard(this MessageDescription source)
        {
            if (source != null && source.Action != null && source.Action == WildcardAction)
            {
                PropertyInfo propertyInfo = source.GetType().GetProperty(MessageDescriptionActionPropertyName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                propertyInfo.SetValue(source, string.Empty, null);

                return(true);
            }

            return(false);
        }