有一个最简单的方法就是把axis2.war中的内容作为Web Project的基础, 来进行开发.
不过为了更清楚的了解如何在一个已有的Web Project中嵌入axis2, 那就手动来配置。大致分如下几个步骤:
一、新建Web Project,名为“WebServiceDemo”
二、下载axis2-1.5-war.zip包,解压缩
将axis2/WEB-INF/lib 里的jar包拷贝到 WebServiceDemo/WebRoot/WEB-INF/lib/
将axis2.war/axis2-web拷贝至WebServiceDemo/ WebRoot/axis2-web/
三、配置axis2 servlet
打开WebServiceDemo/WebRoot/WEB-INF/web.xml,增加如下配置:view plaincopy to clipboardprint?
四、写一个简单的web服务类
- servlet>
- servlet-name>AxisServlet/servlet-name>
- servlet-class>org.apache.axis2.transport.http.AxisServlet/servlet-class>
- load-on-startup>1/load-on-startup>
- /servlet>
- servlet-mapping>
- servlet-name>AxisServlet/servlet-name>
- url-pattern>/services/*/url-pattern>
- /servlet-mapping>
view plaincopy to clipboardprint?
- package service;
- public class MyService {
- public String sayHello(String name) {
- return name + "says \"Hello!\"";
- }
- }
由于axis2已嵌入到WebServiceDemo项目中,所以web service就不用打包成aar,而是直接在/WEB-INF目录下创建相应的文件夹和services.xml,目录结构如下图:
六、services.xml
view plaincopy to clipboardprint?
- ?xml version="1.0" encoding="UTF-8"?>
- serviceGroup>
- service name="myService">
- description>Web Service例子/description>
- parameter name="ServiceClass">service.MyService/parameter>
- messageReceivers>
- messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
- messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
- /messageReceivers>
- /service>
- /serviceGroup>
可以看到myService服务,说明服务已部署成功
可以查看到该Web服务的描述文件
其实,axis2-web下面的东西可以不要那么多,我就只保留了index.jsp,httpbase.jsp和listServices.jsp这三个文件,这样集成后的工程
就瘦身了