<%@ Import Namespace="System.Xml.Schema" %>
<%@ Import Namespace="System.Web.Services" %>
<%@ Import Namespace="System.Web.Services.Description" %>
+<%@ Import Namespace="System.Web.Services.Configuration" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Globalization" %>
<%@ 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" %>
Page.DataBind();
ProfileViolations = new BasicProfileViolationCollection ();
- WebServicesInteroperability.CheckConformance (WsiClaims.BP10, descriptions, ProfileViolations);
+ WebServicesInteroperability.CheckConformance (WsiProfiles.BasicProfile1_1, descriptions, ProfileViolations);
}
void BuildOperationInfo ()
CurrentOperationProtocols += (string) prots[n];
}
- CurrentOperationSupportsTest = prots.Contains ("HttpGet") || prots.Contains ("HttpPost");
+ WebServiceProtocols testProtocols = WebServiceProtocols.HttpGet | WebServiceProtocols.HttpPost;
+ if (Context.Request.IsLocal)
+ testProtocols |= WebServiceProtocols.HttpPostLocalhost;
+ CurrentOperationSupportsTest = (WebServicesSection.Current.EnabledProtocols & testProtocols) != 0;
// Operation format
OperationBinding obin = FindOperation (binding, CurrentOperationName);
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;
{
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 (!String.IsNullOrEmpty (qs)) {
+ 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) {
<span class="bindingLabel"><%#FormatBindingName(DataBinder.Eval(Container.DataItem, "Name").ToString())%></span>
<asp:repeater id="OperationsRepeater" runat=server datasource='<%# ((Binding)Container.DataItem).Operations %>'>
<itemtemplate>
- <a class="method" href="<%#PageName%>?<%#GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
+ <a class="method" href="<%=PageName%>?<%=GetTabContext("op",null)%>op=<%#GetOpName(Container.DataItem)%>&bnd=<%#DataBinder.Eval(Container.DataItem, "Binding.Name")%>"><%#GetOpName(Container.DataItem)%></a>
<div class="smallSeparator"></div>
</itemtemplate>
</asp:repeater>
-->
<p class="label">Web Service Overview</p>
- <%#WebServiceDescription%>
+ <%=WebServiceDescription%>
<br/><br/>
<% if (ProfileViolations.Count > 0) { %>
<p class="label">Basic Profile Conformance</p>
- This web service does not conform to WS-I Basic Profile v1.0
+ This web service does not conform to WS-I Basic Profile v1.1
<%
Response.Write ("<ul>");
foreach (BasicProfileViolation vio in ProfileViolations) {
Operation description
-->
- <span class="operationTitle"><%#CurrentOperationName%></span>
+ <span class="operationTitle"><%=CurrentOperationName%></span>
<br><br>
<% WriteTabs (); %>
<br><br><br>
<span class="label">Remarks</span>
<div class="smallSeparator"></div>
- <%#OperationDocumentation%>
+ <%=OperationDocumentation%>
<br><br>
<span class="label">Technical information</span>
<div class="smallSeparator"></div>
- Format: <%#CurrentOperationFormat%>
- <br>Supported protocols: <%#CurrentOperationProtocols%>
+ Format: <%=CurrentOperationFormat%>
+ <br>Supported protocols: <%=CurrentOperationProtocols%>
<% } %>
<!--
<% if (CurrentTab == "test") {
if (CurrentOperationSupportsTest) {%>
Enter values for the parameters and click the 'Invoke' button to test this method:<br><br>
- <form action="<%#PageName%>" method="GET">
- <input type="hidden" name="page" value="<%#CurrentPage%>">
- <input type="hidden" name="tab" value="<%#CurrentTab%>">
- <input type="hidden" name="op" value="<%#CurrentOperationName%>">
- <input type="hidden" name="bnd" value="<%#CurrentOperationBinding%>">
+ <form action="<%=PageName%>" method="GET">
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
+ <input type="hidden" name="tab" value="<%=CurrentTab%>">
+ <input type="hidden" name="op" value="<%=CurrentOperationName%>">
+ <input type="hidden" name="bnd" value="<%=CurrentOperationBinding%>">
<input type="hidden" name="ext" value="testform">
<table class="paramFormTable" cellspacing="0" cellpadding="3">
<asp:repeater id="InputFormParamsRepeater" runat=server>
<tr><td></td><td><input class="button" type="submit" value="Invoke"> <input class="button" type="button" onclick="clearForm()" value="Clear"></td></tr>
</table>
</form>
- <div id="testFormResult" style="display:<%# (HasFormResult?"block":"none") %>">
+ <div id="testFormResult" style="display:<%= (HasFormResult?"block":"none") %>">
The web service returned the following result:<br/><br/>
- <div class="codePanel"><%#GetTestResult()%></div>
+ <div class="codePanel"><%=GetTestResult()%></div>
</div>
<% } else {%>
The test form is not available for this operation because it has parameters with a complex structure.
<% if (IsOperationSupported ("Soap")) { %>
<span class="label">Soap</span>
<br/><br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("Soap", true)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", true)%></div></div>
<br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("Soap", false)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("Soap", false)%></div></div>
<br/>
<% } %>
<% if (IsOperationSupported ("HttpGet")) { %>
<span class="label">HTTP Get</span>
<br/><br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("HttpGet", true)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", true)%></div></div>
<br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("HttpGet", false)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpGet", false)%></div></div>
<br/>
<% } %>
<% if (IsOperationSupported ("HttpPost")) { %>
<span class="label">HTTP Post</span>
<br/><br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("HttpPost", true)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", true)%></div></div>
<br/>
- <div class="codePanel"><div class="code-xml"><%#GenerateOperationMessages ("HttpPost", false)%></div></div>
+ <div class="codePanel"><div class="code-xml"><%=GenerateOperationMessages ("HttpPost", false)%></div></div>
<br/>
<% } %>
**********************************************************
Client Proxy
-->
- <form action="<%#PageName%>" name="langForm" method="GET">
+ <form action="<%=PageName%>" name="langForm" method="GET">
Select the language for which you want to generate a proxy
- <input type="hidden" name="page" value="<%#CurrentPage%>">
+ <input type="hidden" name="page" value="<%=CurrentPage%>">
<SELECT name="lang" onchange="langForm.submit()">
- <%#GetOptionSel("cs",CurrentLanguage)%>C#</option>
- <%#GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
+ <%=GetOptionSel("cs",CurrentLanguage)%>C#</option>
+ <%=GetOptionSel("vb",CurrentLanguage)%>Visual Basic</option>
</SELECT>
</form>
<br>
- <span class="label"><%#CurrentProxytName%></span>
- <a href="<%#PageName + "?code=" + CurrentLanguage%>">Download</a>
+ <span class="label"><%=CurrentProxytName%></span>
+ <a href="<%=PageName + "?code=" + CurrentLanguage%>">Download</a>
<br><br>
<div class="codePanel">
- <div class="code-<%#CurrentLanguage%>"><%#GetProxyCode ()%></div>
+ <div class="code-<%=CurrentLanguage%>"><%=GetProxyCode ()%></div>
</div>
<%} else if (CurrentPage == "wsdl") {%>
<!--
<%} else {%>
<%}%>
<br>
- <span class="label"><%#CurrentDocumentName%></span>
+ <span class="label"><%=CurrentDocumentName%></span>
<a href="<%=PageName + "?" + CurrentDocType + "=" + CurrentDocInd %>">Download</a>
<br><br>
<div class="codePanel">
- <div class="code-xml"><%#GenerateDocument ()%></div>
+ <div class="code-xml"><%=GenerateDocument ()%></div>
</div>
<%}%>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</td>
-<td withd="20px"></td>
+<td width="20px"></td>
</tr>
</table>