最近在做软件项目实习开发,车阿姨让我们用SOA技术进行开发,说白了就是web service技术,貌似这个技术现在用的很多,正好趁这个机会学学这个技术。下面我想介绍一下如何调用web service。
1.自己建立一个网站
可以看到,这里是建立的asp.net web服务。其实这个项目和第一个asp.net网站的区别就在于多了一个asmx文件,大家可以把asp.net网站中创建的页面复制到该项目下,完全没有任何问题。
2.建立好后得到如下文件
其他文件都是我后来添上去的,注意到这里有fanzhaoxin.asmx和fanzhaoxin.cs文件,预先帮你建立好的service.asmx和service.cs文件听老大说可能出错,所以先删了,再重新添加新项。如下图:
web service基本就靠这两个文件,下面就使用fanzhaoxin文件了。
3.在fanzhaoxin.cs文件中填写你需要的web service方法(这里摘抄一段)
[WebMethod]
public DataTable getpatientstatebyid(string PID)
{
DataAccess.sqlcmd = “select User_ID as 体征测量护士编号,Patient_Temp as 病人体温, Patient_Pressure as 病人血压, Patient_Pluse as 病人脉搏 ,Patient_Height as 病人身高, Patient_Weight as 病人体重 , Doing_Date as 测量日期, Nurse_Remark as 备注 from state where Doing_state=1 and Patient_ID=’”+PID+”‘”;
DataAccess.sqlDo();
return DataAccess.ds.Tables[0];
}
函数返回值随你自己定,其中string PID是别人通过网络给你传的一个值,你的web service服务就是获取这个值,然后在你本地的机器上通过该值进行一系列的操作,把操作结果返回给传值给你的人。
4.发布网站,打开IIS(IIS 在vista home版下没有,至于如何打开,可以上网查查,在控制面板中可以开启)
选择default web site点击右键,选择添加虚拟目录
名称可以自己定,但物理地址是你发布网站的地址,我的是d:/fan,我起的名字是fanzhaoxin
接下来可以说你的web service服务已经在网络上建立成功了,任何人只要知道你的web service地址即可调用你的服务。你自己可以测试一下 本地地址为:http://localhost/fanzhaoxin/fanzhaoxin.asmx
5.当其他人需要调用的时候,选择vs项目中的添加web 引用,输入地址即可,给个命名,点击确定可以看到服务已经填加上去了
6.下面就在你需要的地方调用即可,写代码调用(给出一个例子,只不过是调用Mrcheng的服务)
Mrcheng.DataAccess data = new Mrcheng.DataAccess();
DataTable table = new DataTable();
table = data.GetInfoByNothing(); (这个是他的web 服务函数,这里不需要我传什么值给他,如果需要,写在”()”中即可)
string Name = table.Rows[0]["病历号"].ToString();
7.web service到此应该没有什么问题了,对了,最后说一个很重要的内容,那就是千万别忘记关防火墙,因为开了防火墙web service是无法访问的,服务都添加不了,看来微软的保护措施很严格啊。
感谢小马的技术支持和老大的样例提供。