private static HttpTransportBindingElement GetHttpTransportBindingElement(PolicyConversionContext policyContext)
 {
     if (policyContext != null)
     {
         WSSecurityPolicy          sp = null;
         PolicyAssertionCollection 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);
        }