Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcos Henrich <marcos.henrich@xamarin.com>2016-06-30 15:42:42 +0300
committerMarcos Henrich <marcos.henrich@xamarin.com>2016-06-30 19:56:16 +0300
commit631d5dd49f57ece7bbb366d356d19038c5fb792b (patch)
tree8a7f83fc664dd17f4dbddea23dc0aeadc757aeb6 /mcs/class/System.Web.Services
parent4239ddd9f18d778e03cc979c9d15135e47fb0e28 (diff)
[System.Web.Services] Test Header sharing issue.
Covers #41564 When multiple methods shared soap header a duplicate key exception would be thrown. This issue only occurs on XAMMAC and MOBILE where the non reference source serializer is still used.
Diffstat (limited to 'mcs/class/System.Web.Services')
-rwxr-xr-xmcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs39
1 files changed, 39 insertions, 0 deletions
diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs
index 0019e05c278..cd9dc050fe7 100755
--- a/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs
+++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs
@@ -243,5 +243,44 @@ namespace MonoTests.System.Web.Services.Protocols
}
}
}
+
+ public class RequestHeader : SoapHeader
+ {
+ }
+
+ public class ResponseHeader : SoapHeader
+ {
+ }
+
+ [WebServiceBindingAttribute(Name = "ServiceWithHeaders", Namespace = "https://example.com")]
+ public class ServiceWithHeaders : SoapHttpClientProtocol
+ {
+ public RequestHeader RequestHeader { get; set; }
+ public ResponseHeader ResponseHeader { get; set; }
+
+ [SoapHeaderAttribute("ResponseHeader", Direction = SoapHeaderDirection.Out)]
+ [SoapHeaderAttribute("RequestHeader")]
+ [SoapDocumentMethodAttribute("", RequestNamespace = "https://example.com", ResponseNamespace = "https://example.com", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
+ public int method1()
+ {
+ return 0;
+ }
+
+ [SoapHeaderAttribute("ResponseHeader", Direction = SoapHeaderDirection.Out)]
+ [SoapHeaderAttribute("RequestHeader")]
+ [SoapDocumentMethodAttribute("", RequestNamespace = "https://example.com", ResponseNamespace = "https://example.com", Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
+ public int method2()
+ {
+ return 0;
+ }
+ }
+
+ [Test] // Covers #41564
+ public void ServiceWithHeader () {
+ var service = new ServiceWithHeaders ();
+ Assert.IsNotNull (service);
+ // Should not throw an exception
+ // XAMMAC specific bug
+ }
}
}