- 论坛徽章:
- 0
|
WebService 起步
1. 从APACHE的网站上下载相应资源
地址:
http://www.pangex.com/pub/apache/ws/axis2/1_1_1/
说明:
1) AXIS2-1.1.1.ZIP,此文件主要用来配置系统环境变量
2) AXIS2.WAR主要用于发布你的WS(WEBSERVICE)应用——aar包
3) 系统需求:JDK5.0、TOMCAT6.X、Apache Ant version 1.7.0
2. 搭建环境
1〉 解压AXIS2-1.1.1.ZIP文件——最好放在磁盘根目录
2〉 AXIS2.WAR可以解压,也可以不解压,但是为了我们以后发布自己的服务包方便一点建议还是解压出来。然后把解压的东西放在一个名为AXIS2.WAR的文件夹中。
3〉 配置系统环境变量
配完AXIS2_HOME后别忘了再配path属性“%AXIS2_HOME%/bin;”
同时保证你的ant的path环境“D:\apache-ant-1.7.0\bin;”
4〉 将AXIS2.WAR放入TOMCAT服务器的相应目录中,默认是webapp,我习惯将发布目录修改成deploy
5〉 确保你可以进入下面这个目录之一:
D:\tomcat6\deploy\axis2.war\WEB-INF\services 或者
D:\tomcat6\webapp\axis2.war\WEB-INF\services
注:tomcat有两个版本,安装版和解压版,建议使用解压版
6〉 运行TOMCAT并访问一下路径:
http://localhost:8080/axis2/axis2-admin/
如果你可以使用帐号:U:admin P:axis2 进行登录,那么环境已经配好。
7〉
3. 建立工程
1〉 工程名:axiomproj (eclipse建立)
2〉 WS的服务实现概述
Ø 服务器端实现可以分为4类:POJOs、AXIOM、ADB、XMLBEANS和JiBX
Ø 客户端实现可以分为3类:AXIOM、ADB、XMLBEANS和JiBX
至少在Apache的WS doc中没有说明有关POJOs的客户端实现问题。我估计可能是POJOs对XML比较弱的原因吧。
3〉 加载资源包
进入AXIS2在TOMCAT中的发布路径
D:\tomcat6\deploy\axis2.war\WEB-INF\lib
将所有的资源包加载到刚刚建立的工程资源库中。
4〉 利用AXIOM实现WS
5〉 实现服务器端
编写services.xml文件,下面的清单中详细的说明了该文件的配置方法:
本工程中services.xml的配置如下:
xml version="1.0" encoding="UTF-8"?>
service name="HelloWorldService" scope="application">
description>Hello World Servicedescription>
operation name="getHelloWorldMs">
messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
operation>
operation name="setHelloWorldMs">
messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
operation>
parameter name="ServiceClass">samples.helloworld.service.axiom.HelloWorldServiceparameter>
service>
工程的服务器端代码会被打包成一个aar包,如果在这个包中只有一个监听服务,那么这个地方的service结点中的那么属性就会默认成为该aar包的名字,
scope属性有几个选择参数:"Application", "SOAPSession", "TransportSession", "Request”。如果这里不进行设置,则默认为“Request”。
Parameters属性:services.xml中可以存在任意多个Parameter ,所有的Parameter都被转化成service的属性并加载到相应的AxisService中。但是在services.xml中至少应该存在一个这样的参数结点,并且其属性为name=” ServiceClass”,用来定义一个执行者。这个执行者真正参与服务器与客户端的互动。在服务被部署的过程中ServiceClass 被MessageReceiver类加载到容器当中。
Operation属性:该属性也是一个可扩充属性,如果在你的服务当中有多个类需要参与客户端交互,那么你仅仅需要在这里加一个operation结点就可了。
WS中客户端与服务器端进行交互可以划分成两大类:
客户端发送但不接收(服务器端接收但不发送)
客户端接收且发送(服务器端接收且发送)
6〉 实现客户端
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22374/showart_277185.html |
|