使用SOAP开发WebService 服务--Axis解决方案
本文是通过Axis方案开发WebService服务,并由Java调用WebService,IDE(IBM WebSppere)。
本文的预定读者首先要对j2ee有所了解,熟悉xml,tomcat等基本内容,本文主要是简单介绍一下web服务的基本内容,怎样在java web开发中构建SOAP服务:
一、SOAP(Simple Object Access Protocol)简单对象访问协议,要了解SOAP,首先就需要了解分布式计算的由来,随着下一代的分布式计算体系web服务的出现,SOAP成为了创建和调用通过网络发布的应用程序的实际通信标准。SOAP类似传统的二进制协议IIOP(CORBA)和JRMP(RMI),但它不采用二进制数据表示法,而是采用使用XML的,基于文本的数据表示法。
以下用实际例子来演示,包括(WebService服务端)和(调用WebService的客户端)两个项目。
WebService服务器项目:
1)下载Axis的相关包(http://ws.apache.org/axis/);
2)建立一个实例程序(遵守j2ee的web程序规范),(本文工程为WebServiceTest);
3) 把axis中lib文件夹的内容拷到你的WebServiceTest/WEB-INF/lib下;
4) 修改应用程序WebServiceTest/WEB-INF中的web.xml文件:
有些代码是可要可不要的,在这里我就不删减了。
你现在可以在网址里输入http://localhost:9080/WebServiceTest/services
系统会显示默认的Services服务,看到了吗?
Axis是使用axis.jar包里的org.apache.axis.transport.http.AxisServlet对应用程序进行处理的。
5)至此,我们就可以编写我们的逻辑程序了。简单如:
6) 部署服务,编写server-config.wsdd 配置文件,放在应用程序WebServiceTest/WEB-INF/下,
具体内容如下:同样有些代码是可要可不要的,在这里我就不删减了。
别看代码太多,主要配置以下代码:
说明:其中className参数是你的想部署的类名(全名),allowedMethods是调用的服务的方法,
如果有多个方法的话可以用空格分开(如:<parameter name="allowedMethods" value="getName getMoney"/>),
当用*的时候表示全部。
7)OK,至此,我们已经部署好一个WebService服务了,现在我们来测试一下,
打开浏览器,输入http://localhost:9080/WebServiceTest/services地址,
看里面是否多了一个CwxWebService服务?
WebService 客户端调用测试:
1)建立一个实例程序(遵守j2ee的web程序规范),(本文工程为ClientWebService);
2)编写调用逻辑类,代码如下:
好了,关于SOAP开发WebService服务就说到这里了,以上代码是由本人整理并测试通过的,
如果有什么问题请留言给我,希望这篇文章能对大家有所帮助。