使用HTTP请求方式访问.Net的WebServer服务

.Net的WebServer服务,是一项已经过时的技术,随着技术迭代,当前跨平台的通讯,更多使用用JSON格式数据,发起HTTP请求来实现,但是,有时候,我们为了和老的.NET的WebServer框架通讯,不得不处理和面对的问题

WebServer服务,其实说白了,就是用XML的格式来处理通讯问题,我们可以试着写一个.Net的WebServer服务,文件名如下:WMI.asmx

/// <summary>
/// WMI 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 
[System.Web.Script.Services.ScriptService]
public class WMI : System.Web.Services.WebService
{
    [WebMethod(EnableSession = true)]
    public string WMI01(string Par)
    {
        try
        {
            //业务逻辑
            returnOK;
        }
        catch (Exception ex)
        {
            //处理异常信息
            return "存在异常信息";
        }
        finally
        {
            //如不记录就 就注释以下内容
        }
    }
}

此时,我们可以运行程序,预览页面效果,接下来,我们在向这个server地址提交http请求的时候,可以使用以下方法:

一、在HTTP头信息上,加上“Content-Type”,值为“text/xml; charset=utf-8”

二、撰写XML格式的请求对象文本,注意,<Par>节点就是WebServer的参数节点,<WMI01>节点就是WebServer的控制器中对应的方法函数

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <WMI01 xmlns="http://tempuri.org/">
      <Par>让我们试试看</Par>
    </WMI01>
  </soap:Body>
</soap:Envelope>

最后,我们可以在POSTMAN程序下试试,预览下请求结果,发现<WMI01Result>节点,就是我们程序返回的处理结果

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注