现在准备好测试Web服务。期间你不必通过显式的编译全过程,只需要地在目录下保存文件然后调用它即可。ASP.NET会即时编译代码,就象ASP的处理一样。不过你得清楚地知道:编译的结果是本机代码,而传统ASP文件处理采用的是解释方式,两者之间有重大差别。
为了调用最新创建的服务,请打开你的浏览器并输入服务路径,包括ASMX文件的名字。如果你把服务放了在c:inetpubwwwroot目录下,那么你要在浏览器地址栏上键入http://localhost/converter.asmx。
在调用服务时会显示一幅包含大量信息的网页。一开始这可能会令你觉得有点糊涂:不管怎么说,你还没有为这种服务创造过HTML网页。其实,你根本不必创建测试网页,因为.NET框架已经帮你这个忙了。当你直接通过浏览器调用Web服务时,框架就会为你产生一个网页并通过它向你显示Web服务的信息,同时列出所有可用的方法。图A即是Web服务的网页。
图A
调用最新创建的Web服务
在这个例子中列出的方法没什么特别之处,因为仅有一个方法(PoundsToDollars)。鼠标点击这个方法会显示另一个网页,如图B所示。这一页就是该特定方法的测试页,其中包括对应方法接受的每个参数的文本框。现在请在文本框中输入“50”并按下Invoke按钮。
图B
单击Invoke按钮会打开一个新的浏览器窗口,其中显示了一些XML代码。这些XML代码是由Web服务返回的其中包括了服务结果。返回的XML代码如下所示:
<?xml version="1.0" encoding="utf-8"
?>
<double xmlns="http://tempuri.org/">72</double>
返回结果确实不一定非要采取对用户友好的格式,因为你通常不会从浏览器直接调用Web服务。相反,你往往从应用程序调用Web服务同时适当地处理返回的XML代码。不过,也很容易从上面的代码看出Web服务已经把50英镑转换成了72美元。
上面举的这个例子很简单,它完成的任务是:创建一个组件,如果组件放在Web服务器上就可以被世界上任何地方的任何人访问。客户不必装载COM 或DCOM;甚至也不必拥有Windows客户程序。任何能创建HTTP连接的客户程序都能调用Web服务并且收到结果。这种功能开辟了创建分布式应用程序、实现平台之间互操作的全新领域。
责任编辑:超凡