public override void SetEndpoint(Dictionary <string, string> resolverDictionary, XLANGMessage message)
        {
            if (resolverDictionary == null)
            {
                throw new ArgumentNullException("resolverDictionary");
            }
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }
            try
            {
                var transportLocation = resolverDictionary["Resolver.TransportLocation"];

                var outboundTransportCLSID = resolverDictionary["Resolver.OutboundTransportCLSID"];
                var endpointConfig         = resolverDictionary["Resolver.EndpointConfig"];
                var transportType          = resolverDictionary["Resolver.TransportType"];
                var messageExchangePattern = resolverDictionary["Resolver.MessageExchangePattern"];
                var _operation             = resolverDictionary["Resolver.Action"];

                var customProps = new Dictionary <string, string>();
                customProps = endpointConfig.ParseKeyValuePairs(true);
                message.SetMsgProperty(typeof(BTS.OutboundTransportLocation), transportLocation);
                message.SetMsgProperty(typeof(BTS.OutboundTransportType), transportType);
                message.SetMsgProperty(typeof(BTS.OutboundTransportCLSID), outboundTransportCLSID);
                message.SetMsgProperty(typeof(BTS.Operation), _operation);
                message.SetMsgProperty(typeof(BTS.MessageExchangePattern), messageExchangePattern);

                message.SetMsgProperty(typeof(WCF.Action), _operation);
                message.SetMsgProperty(typeof(WCF.HttpMethodAndUrl), customProps.GetValue("HttpMethodAndUrl"));
                message.SetMsgProperty(typeof(WCF.HttpHeaders), customProps.GetValue("HttpHeaders"));
                message.SetMsgProperty(typeof(WCF.VariablePropertyMapping), customProps.GetValue("VariablePropertyMapping"));
                message.SetMsgProperty(typeof(WCF.SuppressMessageBodyForHttpVerbs), customProps.GetValue("SuppressMessageBodyForHttpVerbs"));
                message.SetMsgProperty(typeof(WCF.SecurityMode), customProps.GetValue("SecurityMode"));
                message.SetMsgProperty(typeof(WCF.TransportClientCredentialType), customProps.GetValue("TransportClientCredentialType"));
                message.SetMsgProperty(typeof(WCF.UserName), customProps.GetValue("UserName"));
                message.SetMsgProperty(typeof(WCF.Password), customProps.GetValue("Password"));
                message.SetMsgProperty(typeof(WCF.SendTimeout), customProps.GetValue("SendTimeout"));
                message.SetMsgProperty(typeof(WCF.OpenTimeout), customProps.GetValue("OpenTimeout"));
                message.SetMsgProperty(typeof(WCF.CloseTimeout), customProps.GetValue("CloseTimeout"));
                message.SetMsgProperty(typeof(WCF.ProxyToUse), customProps.GetValue("ProxyToUse"));
                message.SetMsgProperty(typeof(WCF.ProxyAddress), customProps.GetValue("ProxyAddress"));
                SetEndpointContextProperties(message, endpointConfig);
            }
            catch (System.Exception ex)
            {
                EventLogger.LogMessage(ex.Message, System.Diagnostics.EventLogEntryType.Error, 0);
                throw;
            }
        }