diff options
author | Alex Rønne Petersen <alex@alexrp.com> | 2016-01-06 13:32:28 +0300 |
---|---|---|
committer | Alex Rønne Petersen <alex@alexrp.com> | 2016-01-06 13:32:28 +0300 |
commit | 2dc628d36f9ebd44d25126bfba00cffc6c2df8e4 (patch) | |
tree | c0a1c33175d30cde43d723d69226a975faaa2ab6 /mcs/class/System.ServiceModel.Web | |
parent | e98f02b71b566e523d9b7622bb6f19c33bf0e39f (diff) | |
parent | fccd4b01a7dac5a8e7abab5cf2fa55e4f042be13 (diff) |
Merge pull request #2174 from stukselbax/master
[WCF] WebHttpBinding must use http scheme in case when SecurityMode == WebHttpSecurityMode.TransportCredentialOnly
Diffstat (limited to 'mcs/class/System.ServiceModel.Web')
-rw-r--r-- | mcs/class/System.ServiceModel.Web/System.ServiceModel/WebHttpBinding.cs | 2 | ||||
-rw-r--r-- | mcs/class/System.ServiceModel.Web/Test/System.ServiceModel/WebHttpBindingTest.cs | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/mcs/class/System.ServiceModel.Web/System.ServiceModel/WebHttpBinding.cs b/mcs/class/System.ServiceModel.Web/System.ServiceModel/WebHttpBinding.cs index fc8a065f5ae..8eee88bb876 100644 --- a/mcs/class/System.ServiceModel.Web/System.ServiceModel/WebHttpBinding.cs +++ b/mcs/class/System.ServiceModel.Web/System.ServiceModel/WebHttpBinding.cs @@ -158,7 +158,7 @@ namespace System.ServiceModel } public override string Scheme { - get { return Security.Mode != WebHttpSecurityMode.None ? Uri.UriSchemeHttps : Uri.UriSchemeHttp; } + get { return Security.Mode == WebHttpSecurityMode.Transport ? Uri.UriSchemeHttps : Uri.UriSchemeHttp; } } public WebHttpSecurity Security { diff --git a/mcs/class/System.ServiceModel.Web/Test/System.ServiceModel/WebHttpBindingTest.cs b/mcs/class/System.ServiceModel.Web/Test/System.ServiceModel/WebHttpBindingTest.cs index 1c0c0077ce8..b4a016a26f4 100644 --- a/mcs/class/System.ServiceModel.Web/Test/System.ServiceModel/WebHttpBindingTest.cs +++ b/mcs/class/System.ServiceModel.Web/Test/System.ServiceModel/WebHttpBindingTest.cs @@ -32,5 +32,15 @@ namespace MonoTests.System.ServiceModel Assert.AreEqual (typeof (WebMessageEncodingBindingElement), bc [0].GetType (), "#2"); Assert.AreEqual (typeof (HttpTransportBindingElement), bc [1].GetType (), "#3"); } + + [Test] + public void DefaultSchemeBasedOnSecurityMode () + { + WebHttpBinding b = new WebHttpBinding(WebHttpSecurityMode.TransportCredentialOnly); + Assert.AreEqual("http", b.Scheme, "#1"); + + b = new WebHttpBinding(WebHttpSecurityMode.Transport); + Assert.AreEqual("https", b.Scheme, "#2"); + } } } |