home *** CD-ROM | disk | FTP | other *** search
- <%@ Import Namespace="System.Web.Services.Description" %>
- <%@ Import Namespace="System.Collections.Bases" %>
-
- <html>
-
- <script language="C#" runat="server">
-
- ServiceDescription serviceDescription = null;
-
- void Page_Load(object sender, EventArgs e) {
-
- // Obtain SDL contract from Http Context
-
- serviceDescription = (ServiceDescription) Context.Items["sdl"];
-
- // Build up the List of Available Methods to Call
-
- ProtocolInfos protocols = serviceDescription.Protocols;
-
- for (int x = 0; x<protocols.Count; x++) {
-
- // BugBug: Use the SOAP Protocol Method List to Generate the List of web methods
- // at the top of the page. Note that this will hide methods where users
- // have deliberately disabled SOAP as a valid protocol
-
- if (protocols[x] is SoapProtocolInfo) {
-
- MethodList.DataSource = ((SoapProtocolInfo) protocols[x]).Service.Interactions;
- }
-
- // BugBug: Use the GET Protocol Method List to Generate the List of web methods
- // at the top of the page. Note that this will hide methods that only
- // support SOAP as a protocol (for example: methods that accept DataSets are params)
-
- if (protocols[x] is HttpGetProtocolInfo) {
-
- MethodDetailsList.DataSource = ((HttpGetProtocolInfo) protocols[x]).Service.Interactions;
- }
- }
-
- // Databind all values within the page
-
- Page.DataBind();
- }
-
- </script>
-
- <head>
-
- <link rel="alternate" type="text/xml" href="default.disco"/>
-
- <style type="text/css">
-
- BODY { margin-left:20px;
- margin-top:0px;
- background-image:url(/global/xmlweb4.gif);
- background-repeat:repeat-y;
- font-family:"Verdana", sans-serif;
- font-size:xx-small;
- }
-
- #content { font-size:x-small;
- padding-bottom: 2em;
- }
-
- A:link { color:rgb(78,72,135) }
- A:visited { color:rgb(128,128,200) }
- A:active { color:rgb(241,96,67) }
- A:hover { color:rgb(241,96,67) }
-
- h1 { font-size:medium;
- margin-top:1em;
- margin-bottom:.5em;
- border-left:12px solid #000033;
- border-top:1px solid #000033;
- padding-left:4px;
- color:#000033;
- }
-
- h2 { font-size:small;
- margin-bottom:.5em;
- margin-top:1em;
- border-left:8px solid #000033;
- border-top:1px solid #000033;
- padding-left:4px;
- color:#000033;
- }
-
- ul, ol { margin-top:.5em;}
-
- </style>
-
- <title><%#serviceDescription.Name%> WebService </title>
-
- </head>
-
- <body>
-
- <div id="content" style="width:750;margin-left:1em">
-
- <h1 style="font-size:26"><%#serviceDescription.Name%> WebService</H1>
-
- <p>
-
- The <%#serviceDescription.Name%> WebService exposes the following web methods:
-
- <br><br>
-
- <asp:repeater id="MethodList" runat=server>
-
- <template name="headertemplate">
- <ul>
- </template>
-
- <template name="itemtemplate">
- <li><a href=#<%#DataBinder.Eval(Container.DataItem, "Name")%>><%#DataBinder.Eval(Container.DataItem, "Name")%></a></li>
- </template>
-
- <template name="footertemplate">
- </ul>
- </template>
-
- </asp:repeater>
-
- For a formal XML definition of the <%=serviceDescription.Name%> WebService, please
- review its: <a href="?SDL">SDL Contract</a>
-
- <p>
-
- <asp:repeater id="MethodDetailsList" runat=server>
-
- <template name="HeaderTemplate">
-
- <H2 style='font-size:18'>Web Method Reference</H1>
-
- </template>
-
- <template name="ItemTemplate">
-
- <br>
-
- <a name='<%#DataBinder.Eval(Container.DataItem, "Name")%>'>
-
- <p>
-
- <table width=750 bgcolor=#FFFFCC>
- <tr>
- <td bgcolor="#000033" height=13 colspan=2>
- <font face="Verdana, Arial" size="2" color="white">
- <b><%#DataBinder.Eval(Container.DataItem, "Name")%> Web Method</b>
- </font>
- </td>
- </tr>
- <tr>
- <td bgcolor="#FFFFCC" width=10> </td>
- <td bgcolor="#FFFFCC">
-
- <p>
-
- <font face="Verdana, Arial" size=2>
-
- <br>
-
- No additional reference information about the <%#DataBinder.Eval(Container.DataItem, "Name")%> web method is available at this time.
-
- <p>
-
- <asp:repeater datasource='<%# DataBinder.Eval(Container.DataItem, "Request.Parameters")%>' runat=server>
-
- <template name="HeaderTemplate">
-
- <!-- BugBug: Open Design Issue for Beta1 -->
-
- <span visible='<%# ((Repeater)Container.Parent).DataSource.Count != 0%>' runat=server>
-
- <b>Request parameters: </b>
-
- </span>
-
- </template>
-
- <template name="ItemTemplate">
-
- <div style='margin-left:1em;font-family:verdana;font-size:13'>
- <li><%# ((HttpParameterInfo)Container.DataItem ).Name %> </li>
- </div>
-
- </template>
-
- </asp:repeater>
-
- <p>
-
- <b>Response type: </b>
-
- <div style='margin-left:1em;font-family:verdana;font-size:13'>
-
- <asp:repeater datasource='<%# DataBinder.Eval(Container.DataItem, "Response.Contents")%>' runat=server>
-
- <template name="ItemTemplate">
- <li><%# ((XmlMimeInfo)Container.DataItem ).ElementRef.Name %></li>
- </template>
-
- </asp:repeater>
-
- </div>
-
- <br>
-
- <b>Invoke the <%#DataBinder.Eval(Container.DataItem, "Name")%> Web Method: </b>
-
- <div style='margin-left:1em;font-family:verdana;font-size:13'>
-
- <br>
-
- Enter parameter values and then click the 'Invoke' button to invoke the <%#DataBinder.Eval(Container.DataItem, "Name")%> web method.
-
- <form target="_blank" action='<%#DataBinder.Eval(Container.DataItem, "Href")%>'>
-
- <table>
-
- <asp:repeater datasource='<%# DataBinder.Eval(Container.DataItem, "Request.Parameters")%>' runat=server>
-
- <template name="HeaderTemplate">
-
- <!-- BugBug: Open Design Issue for Beta1 -->
-
- <tr visible='<%# ((Repeater)Container.Parent).DataSource.Count != 0%>' runat=server>
- <td style="font-family:verdana;font-size:13"><u>Parameter</u></td>
- <td width=10></td>
- <td style="font-family:verdana;font-size:13"><u>Value</u></td>
- </tr>
-
- </template>
-
- <template name="ItemTemplate">
- <tr>
- <td style="font-family:verdana;font-size:13"> <%# ((HttpParameterInfo)Container.DataItem ).Name %>:</td>
- <td width=10></td>
- <td><input type="text" size="50" name='<%# ((HttpParameterInfo)Container.DataItem ).Name %>'\"></td>
- </tr>
- </template>
-
- </asp:repeater>
-
- <tr>
- <td></td>
- <td></td>
- <td align=right> <input type=submit value="Invoke"> </td>
- </tr>
- </table>
-
- </form>
-
- </div>
- </font>
- </td>
- </tr>
-
- </table>
-
- </template>
-
- </asp:repeater>
-
- </div>
-
- </body>
-
- </html>
-
-