创建,测试和使用Web服务的小结

下面是我关于Web服务的一点学习小结,当然还是非常的简单粗浅.希望对大家能有所帮助.更欢迎批评指正.

 

如何创建并且使用Web服务

 

创建Web服务

一般来说有2种方式来创建Web服务

l         直接编写Web服务文件(*.asmx);

l         首先实现业务对象,然后仅仅用asmx文件曝露;

注意: *.asmxASP.NET Web服务的扩展名,并不是所有的Web服务都是此方式供用户测试,其他厂商提供的Web服务往往只是一个Port.

   

1.     创建简单Web服务文件

<%@ WebService Language = C# Class = HelloMessage %>

using System;

using System.Web.Services;

 

public class HelloMessage : WebSerive

{

[WebMethod]

public string SayHello(string strName)

{

    return “Hello, ” + strName;

}

}

 

首先需要加入 WebService的编译指令以指明其是一个Web服务,接下来是语言属性,和一个Web服务类的属性class.

注意:在一个asmx文件中可以有很多类,当时只能有一个用于Web服务.

 

HelloMessage继承了System.Web.Services.WebService这个类.

[WebMethod]这个属性一定要加到想要使用的Web方法前.注意该方法的Modifier必须是public.

希望用户访问的web方法一定要是公用的,且必须包含属性[WebMethod].含有该属性的方法将把所有调用者都看作是本地的.

 

[WebMethod]属性的进一步说明可以参看ASP.NET21.

 

2.     业务对象法

可以使用已有的业务对象来创建Web服务,可以大大的降低工作量.当然为了启动服务支持,必须做一些相应的修改.简单来说,需要做三件事:

l         对象必须从WebService类继承;

l         给要暴露的方法加上[WebMethod]属性,当然Modifier也必须是public;

l         把返回值是XXDataReader的改为DataSet,因为前者无法通过XML传输;

注意:因为只有从WebService继承而来的类才会作为服务暴露给客户,所以您可以在同一个文件中创建对象的多个版本.

 

然后,将业务对象编译成程序集放在相应的目录下.

 

然后构建暴露业务对象服务的.asmx文件,非常简单,只需要一句.

<%@ WebSerive Class = YourNamespace.YourServiceClass %>

 

测试Web服务

       对于.NET 框架建立的Web服务而言,直接在IE浏览器中就可以看到测试界面了.比如:

http://www.hillfree.com/myservice.asmx

 

一般来说可以看到Web服务类和Web方法. 调用Web服务可以有三种方法.(当然,不是所有的Web方法都可以用三种方法调用.):

1.         SOAP

2.         HTTP-GET

3.         HTTP-POST

 

使用SOAP调用服务传递命令和参数,可以使用很多基于XML的数据类型.(i.e. Array, class, DataSet, primitive, xmlNode etc.)

 

但如果使用HTTP GETHTTP POST, 则只能使用这些协议所能处理的类型.一般就是primitive基本类型和数组. 此外HTTP GET/POST也只能发送名值对,不能传递复杂的数据类型.

 

需要查看相关的说明文件时,可以输入:

http://www.hillfree.com/myservice.asmx?WSDL

这是一个xml文件.

使用Web服务

使用Web服务,一般包括三个步骤

1.         发现服务

2.         生成服务的代理

3.         编写客户端程序,使用代理调用所需的服务.

 

发现服务:

       使用disco.exe工具来发现Web站点的Web服务,:

       disco http://localhost/service/day/fain.disco

生成服务代理类

       使用wsdl.exe 工具生成Web服务代理类.如下:

       wsdl http://www.hillfree.com/service.asmx?wsdl 

//如果直接知道wsdlurl,就不要发现那一步了.

 

       这样默认生成的是C#的类. 当然,如果已经有了WSDL文件就可以直接:

       wsdl service.wsdl

      

接下来,您可以直接使用该类文件,或者将其编译为程序集使用.

 

简要介绍一下代理类:

       生成的代理类包含一个来自System.Web.Services的属性[WebServiceBindingAttribute].

该属性定义了这个类必须使用的接口.

       另外,此类是从SoapHttpClientProtocol继承而来的,它通过SOAPWeb服务远程通信.代理类中包含一个构造函数,它设置了Web服务的URL.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenStack是一个开源的云计算管理平台项目,它由多个组件组成,可以支持各种类型的云环境。其目标是提供一个简单、可扩展、丰富和统一的云计算管理平台。下面是OpenStack的一些常见组件和其功能: 1. Dashboard (Horizon):提供Web界面,用于管理和监控OpenStack的各个组件。 2. Keystone:提供认证和授权功能,为其他组件提供权限管理。 3. Nova:负责管理虚拟机实例,包括创建、启动、停止和删除虚拟机。 4. Neutron:负责管理网络流量和IP地址,提供网络服务。 5. Glance:负责管理镜像,可以安装和使用镜像来创建虚拟机。 6. Cinder:负责管理磁盘,提供云盘服务。 7. Swift:提供对象存储服务,类似于网盘功能。 部署OpenStack的过程可以分为以下几个步骤: 1. 安装操作系统:选择合适的操作系统,并进行安装和配置。 2. 安装依赖软件:安装OpenStack所需的依赖软件,如数据库、消息队列等。 3. 配置网络:配置网络环境,确保各个节点之间可以通信。 4. 安装OpenStack组件:按照顺序安装各个OpenStack组件,并进行配置。 5. 配置认证和授权:配置Keystone组件,设置用户、角色和权限。 6. 配置虚拟化环境:根据实际需求选择合适的虚拟化技术,并进行配置。 7. 配置存储环境:根据实际需求选择合适的存储技术,并进行配置。 8. 配置网络环境:根据实际需求配置Neutron组件,设置网络服务。 9. 配置其他组件:根据实际需求配置其他OpenStack组件,如Glance、Cinder等。 10. 验证和测试:验证OpenStack的各个组件是否正常工作,并进行测试。 请注意,部署OpenStack是一个复杂的过程,需要根据实际情况进行配置和调整。建议参考OpenStack官方文档或相关教程进行详细的部署步骤和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值