您的位置:首页 > 其它

Web服务的创建和使用

2006-05-25 09:53 274 查看
web服务的三基石
• 简单对象访问协议-SOAP。是一种基于
XML的通信协议。包括三个部分:
– SOAP封装结构:定义消息的XML格式,包括
整体框架、消息内容、谁处理这些内容等。
– SOAP编程规则:定义如何将程序数据表示为
XML。
– SOAP RPC表示:定义如何使用SOAP进行远
程过程调用。
此外,SOAP规范还定义了包含SOAP消息的
HTTP消息样式。

web服务的三基石
• Web服务描述语言-WSDL
– 是一个XML文档,用于说明一组SOAP消息以
及如何交换这些消息
– 还定义了服务的位置以及使用服务的通信协议
– 可以提供更高层次的消息,如web服务的业务
类型和关联关键字等

web服务的三基石
• 统一描述、发现和集成-UDDI
–Web服务的黄页
– 其核心组件是UDDI商业注册,它使用一个XML
文档来描述Web服务。包括三个部分
• 白页:介绍提供服务的公司,包括名称、地址、联
系方式
• 黄页:包括按照标准分类进行分类的行业类别
• 绿页:细则介绍、访问服务接口等技术信息

在解决方案添加webservice项目

// WEB 服务示例
        // HelloWorld() 示例服务返回字符串 Hello World
        // 若要生成,请取消注释下列行,然后保存并生成项目
        // 若要测试此 Web 服务,请按 F5 键

        [WebMethod]
        public double WebAdd(double db1,double db2)
        {
            return db1+db2;
        }
        [WebMethod]
        public double WebSub(double db1,double db2)
        {
            return db1-db2;
        }
        [WebMethod]
        public double WebMul(double db1,double db2)
        {
            return db1*db2;
        }
        [WebMethod]
        public double WebDev(double db1,double db2)
        {
            return db1/db2;
        }

添加web引用
调用事例
localhost.MyService WebMath = new localhost.MyService();
            double db1 = double.Parse(Console.ReadLine());
            double db2 = double.Parse(Console.ReadLine());
            double dbResult = WebMath.WebAdd(db1,db2);
            Console.WriteLine("结果为:"+dbResult.ToString());

不使用VS.NET,调用web服务
1、  wsdl /out:myWebService.cs http://localhost/MyService/MathService.asmx
2、  csc /out:RegWebService.dll /t:library /r:System.xml.dll /r:System.Web.Services.dll myWebService.cs

3、  有了组件库,我们就可以编写调用WebService的客户端程序了。见CallWebService.cs。

4、  csc /r:myWebService.dll CallWebService.cs

5、  运行CallWebService.exe。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息