Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / data / net_1_1 / DefaultWsdlHelpGenerator.aspx
index afeeeb408320d470028362de005341421337364d..923655937f14ddf5f6b04f9feb2fca18fb736a80 100644 (file)
@@ -24,7 +24,9 @@
 <%@ Import Namespace="System.CodeDom.Compiler" %>
 <%@ Import Namespace="Microsoft.CSharp" %>
 <%@ Import Namespace="Microsoft.VisualBasic" %>
+<%@ Import Namespace="System.Text" %>
 <%@ Import Namespace="System.Text.RegularExpressions" %>
+<%@ Import Namespace="System.Security.Cryptography.X509Certificates" %>
 <%@ Assembly name="System.Web.Services" %>
 <%@ Page debug="true" %>
 
@@ -306,6 +308,13 @@ bool HasFormResult
        get { return Request.QueryString ["ext"] == "testform"; }
 }
 
+class NoCheckCertificatePolicy : ICertificatePolicy {
+       public bool CheckValidationResult (ServicePoint a, X509Certificate b, WebRequest c, int d)
+       {
+               return true;
+       }
+}
+
 string GetTestResult ()
 { 
        if (!HasFormResult) return null;
@@ -339,7 +348,22 @@ string GetTestResult ()
        {
                string url = location + "/" + CurrentOperationName;
                Uri uri = new Uri (url);
-               WebRequest req = WebRequest.Create (url + "?" + qs);
+               WebRequest req;
+               if (CurrentOperationProtocols.IndexOf ("HttpGet") < 0) {
+                       req = WebRequest.Create (url);
+                       req.Method = "POST";
+                       if (qs != null && qs.Length > 0) {
+                               req.ContentType = "application/x-www-form-urlencoded";
+                               byte [] postBuffer = Encoding.UTF8.GetBytes (qs);
+                               req.ContentLength = postBuffer.Length;
+                               using (Stream requestStream = req.GetRequestStream ())
+                                       requestStream.Write (postBuffer, 0, postBuffer.Length);
+                       }
+               }
+               else
+                       req = WebRequest.Create (url + "?" + qs);
+               if (url.StartsWith ("https:"))
+                       ServicePointManager.CertificatePolicy = new NoCheckCertificatePolicy ();
                HttpCookieCollection cookies = Request.Cookies;
                int last = cookies.Count;
                if (last > 0) {