三. Web Servie的客户端使用
一个Web Service部署到服务器上之后,就可以提供给其他应用程序调用。调用一个Web Service其实很简单,并不需要进行特别的设置。比如,我们前面用http://localhost:8080/axis/HelloWorld.jws?wsdl访问,就是就Web Servicede 的一种调用。当然,这种说法不够严格。调用Web Service应该是调用其提供的方法,我们用这种方式调用:http://localhost:8080/axis/HelloWorld?method=sayHello&userName=brookes,结果我们得到下面的页面:








这是一个标准的的SOAP协议的XML回复,其中关键是<sayHelloReturn>元素,这就是Web Servcie对sayHello方法的响应!我们只需要解析这个XML文件,就可以得到想要的响应。(可参考XMLHttpRequest相关文档)
Apache Axis支持三种客户端访问Web Service的方式:
1. Dynamic Invocation Interface(DII) 动态调用接口
2. Dynamic Proxy 动态代理
3. Stubs 桩
【注】我看到有的资料上将上面三种方式列为Web Servcie的三种“开发部署方法”,我认为说法欠妥。开发如果包含了客户端开发尚且说的过去,部署似乎更应专指服务器端。我的理解也是一家之言,欢迎指正。
我们先来看DII方法,核心代码如下(我们使用了前面的HelloWorld Web服务):























运行程序,得到如下输出信息:
return value is: Hello Brookes,Welcome to my Web Service.
用DII方式访问Web Service就是这么简单!