Web服务

作者: 神乐g | 来源:发表于2018-12-08 20:42 被阅读0次

WebService是一种可以接收从Internet或者Internet上的其他系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
其中的:

  1. XML(Extensible Markup Language):扩展性可标记语言。面向短期的临时数据处理、面向万维网,是Soap的基础
  2. Soap(Simple Object Access Protocl):简单对象存取协议,是XML Web Service 的通信协议
    WSDL(Web Services Descroption Language):WSDL文件是一个XML文档,用于说明一组SOAP 消息以及如何交换这些消息
  3. UDDI(Universal Description, Discovery, and Integration)是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

需要开启:
控制面板-程序和功能-启用或关闭Windows功能-Internet Information services
测试是否开启成功:
浏览器输入:127.0.0.1或者localhost看是否显示IIS界面


开启IIS服务
开启成功

步骤:
新建一个Asp.net空网站 添加Web服务(ASMX)文件

//WebService类中自定义的方法
[WebMethod(Description = "求和的方法")]
public int Add(int x,int y)
{
    return x + y;
}

然后发布网站-配置文件(自定义)-连接(文件系统)-选择目标位置(保存的位置)-发布


添加项目 添加Web服务项 ASMX类中的方法

使用服务方法:
新建一个WinForm桌面应用程序,调用方法:
引用右键-添加服务引用-输入发布在IIS上的网站地址-转到-输入命名空间

private void btnAdd_Click(object sender, EventArgs e)
{
    int x = int.Parse(txtX.Text.Trim());
    int y = int.Parse(txtY.Text.Trim());

    //使用new关键字,实例化WebService中的类的对象
    Add.WebServiceSoapClient wssc = new Add.WebServiceSoapClient();
    //调用类中的方法
    int result = wssc.Add(x, y);
    txtRes.Text = result.ToString();
}
查询天气实例

添加外部服务的错误解决方法:

  1. 无法加载协定为xxx的终结点配置部分,因为找到了该协定的多个终结点配置
    删除app.config里的binding一个子节点即可
  2. 服务器无法处理请求。未将对象引用设置到对象的实例
    添加服务引用的时候点高级-兼容性添加Web引用
    同时new对象也要改变


    终结点配置部分错误删除
    添加 Web 引用
附录:一个Web服务提供网站,有天气、归属地等信息:

http://www.webxml.com.cn/zh_cn/index.aspx

相关文章

网友评论

      本文标题:Web服务

      本文链接:https://www.haomeiwen.com/subject/vnwxhqtx.html