在.NET中调用Web Service其实和创建Web Service一样简单。(完整代码示例位置:光盘codech07 WebAppClient)
实现步骤如下。
(1)首先我们创建一个ASP.NET Web 应用程序。
(2)添加Web Service引用。
在项目上单击鼠标右键,在弹出的快捷菜单中选择"添加Web 引用"命令,如图7-6所示,弹出"添加Web引用"对话框,如图7-7所示的窗口。
图7-6 选择"添加Web引用"命令 |
(点击查看大图)图7-7 "添加Web引用"对话框 |
添加引用分以下3种情况。
如果是本解决方案中的Web服务,则选第一个,程序会自动转向解决方案中的服务地址。
如果是本计算机上的Web服务,则系统会自动寻找本机的Web服务,供你选择。
无论哪种情况,其最终目标都是在URL处输入相应的地址,进行加载,所以,我们可以在URL中输入Web服务的地址,无论是本地还是公网的都一样。然后,单击"前往"按钮,则会列出Web服务的测试页和方法描述,同时验证项目是否能够使用 Web 服务,如图7-8所示。
(点击查看大图)图7-8 预览Web 引用 |
这时,我们在"Web引用名"文本框中,输入一个名称,我们将在代码中使用该名称以编程方式访问所选择的Web服务,单击"添加引用"按钮。
(3)此时,项目中多了一个名叫Web References的目录,如图7-9所示,自动生成的代理类就放在这里。
图7-9 Web引用 |
(4)单击工程中的解决方案资源管理器中的"显示所有文件"按钮,这时就可以看到那个代理类了,名叫Reference.cs。
(5)在代码中使用这个代理类基本上和使用本地普通类一样。
ProductService.LTPService service = new ProductService.LTPService();
string price=service.GetProductPrice("001");
到此为止,ASP.NET调用Web Service的过程就完成了,整个过程只写了两行代码。