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); }