static HttpTransportBindingElement GetHttpTransportBindingElement(PolicyConversionContext policyContext)
        {
            if (policyContext != null)
            {
                WSSecurityPolicy         sp = null;
                ICollection <XmlElement> policyCollection = policyContext.GetBindingAssertions();
                if (WSSecurityPolicy.TryGetSecurityPolicyDriver(policyCollection, out sp) && sp.ContainsWsspHttpsTokenAssertion(policyCollection))
                {
                    HttpsTransportBindingElement httpsBinding = new HttpsTransportBindingElement();
                    httpsBinding.MessageSecurityVersion = sp.GetSupportedMessageSecurityVersion(SecurityVersion.WSSecurity11);
                    return(httpsBinding);
                }
            }

            return(new HttpTransportBindingElement());
        }
        private static TransportBindingElement CreateTransportBindingElements(string transportUri, PolicyConversionContext policyContext)
        {
            TransportBindingElement element = null;
            string str = transportUri;

            if (str != null)
            {
                if (!(str == "http://schemas.xmlsoap.org/soap/http"))
                {
                    if (str == "http://schemas.microsoft.com/soap/tcp")
                    {
                        return(new TcpTransportBindingElement());
                    }
                    if (str == "http://schemas.microsoft.com/soap/named-pipe")
                    {
                        return(new NamedPipeTransportBindingElement());
                    }
                    if (str == "http://schemas.microsoft.com/soap/msmq")
                    {
                        return(new MsmqTransportBindingElement());
                    }
                    if (str != "http://schemas.microsoft.com/soap/peer")
                    {
                        return(element);
                    }
                    return(new PeerTransportBindingElement());
                }
                if (policyContext != null)
                {
                    WSSecurityPolicy         securityPolicy    = null;
                    ICollection <XmlElement> bindingAssertions = policyContext.GetBindingAssertions();
                    if (WSSecurityPolicy.TryGetSecurityPolicyDriver(bindingAssertions, out securityPolicy) && securityPolicy.ContainsWsspHttpsTokenAssertion(bindingAssertions))
                    {
                        HttpsTransportBindingElement element2 = new HttpsTransportBindingElement {
                            MessageSecurityVersion = securityPolicy.GetSupportedMessageSecurityVersion(SecurityVersion.WSSecurity11)
                        };
                        element = element2;
                    }
                }
                if (element == null)
                {
                    element = new HttpTransportBindingElement();
                }
            }
            return(element);
        }