You've already forked linux-packaging-mono
Imported Upstream version 4.4.2.8
Former-commit-id: 35c92f977d4776b96adf6e2e2f8ebbe9c6724ef4
This commit is contained in:
parent
0b4a830db1
commit
42e38034c4
@ -214,6 +214,9 @@ namespace System.Web.Services.Protocols {
|
||||
OutputMembersMapping = soapImporter.ImportMembersMapping (ResponseName, ResponseNamespace, out_members, hasWrappingElem, writeAccessors);
|
||||
}
|
||||
|
||||
InputMembersMapping.SetKey(RequestName);
|
||||
OutputMembersMapping.SetKey(ResponseName);
|
||||
|
||||
requestSerializerId = parent.RegisterSerializer (InputMembersMapping);
|
||||
responseSerializerId = parent.RegisterSerializer (OutputMembersMapping);
|
||||
|
||||
@ -254,6 +257,8 @@ namespace System.Web.Services.Protocols {
|
||||
else
|
||||
InputHeaderMembersMapping = soapImporter.ImportMembersMapping ("", RequestNamespace, members, false, false);
|
||||
|
||||
InputHeaderMembersMapping.SetKey(RequestName + ":InHeaders");
|
||||
|
||||
requestHeadersSerializerId = parent.RegisterSerializer (InputHeaderMembersMapping);
|
||||
}
|
||||
|
||||
@ -265,7 +270,9 @@ namespace System.Web.Services.Protocols {
|
||||
OutputHeaderMembersMapping = xmlImporter.ImportMembersMapping ("", RequestNamespace, members, false);
|
||||
else
|
||||
OutputHeaderMembersMapping = soapImporter.ImportMembersMapping ("", RequestNamespace, members, false, false);
|
||||
|
||||
|
||||
OutputHeaderMembersMapping.SetKey(ResponseName + ":OutHeaders");
|
||||
|
||||
responseHeadersSerializerId = parent.RegisterSerializer (OutputHeaderMembersMapping);
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -144,13 +144,25 @@ namespace Mono.Net.Security
|
||||
bool result;
|
||||
|
||||
#if MONODROID
|
||||
result = AndroidPlatform.TrustEvaluateSsl (certs);
|
||||
if (result) {
|
||||
// chain.Build() + GetErrorsFromChain() (above) will ALWAYS fail on
|
||||
// Android (there are no mozroots or preinstalled root certificates),
|
||||
// thus `errors` will ALWAYS have RemoteCertificateChainErrors.
|
||||
// Android just verified the chain; clear RemoteCertificateChainErrors.
|
||||
errors &= ~SslPolicyErrors.RemoteCertificateChainErrors;
|
||||
try {
|
||||
result = AndroidPlatform.TrustEvaluateSsl (certs);
|
||||
if (result) {
|
||||
// FIXME: check whether this is still correct.
|
||||
//
|
||||
// chain.Build() + GetErrorsFromChain() (above) will ALWAYS fail on
|
||||
// Android (there are no mozroots or preinstalled root certificates),
|
||||
// thus `errors` will ALWAYS have RemoteCertificateChainErrors.
|
||||
// Android just verified the chain; clear RemoteCertificateChainErrors.
|
||||
errors &= ~SslPolicyErrors.RemoteCertificateChainErrors;
|
||||
} else {
|
||||
errors |= SslPolicyErrors.RemoteCertificateChainErrors;
|
||||
status11 = unchecked((int)0x800B010B);
|
||||
}
|
||||
} catch {
|
||||
result = false;
|
||||
errors |= SslPolicyErrors.RemoteCertificateChainErrors;
|
||||
status11 = unchecked((int)0x800B010B);
|
||||
// Ignore
|
||||
}
|
||||
#else
|
||||
if (is_macosx) {
|
||||
|
Reference in New Issue
Block a user