1、先创建一个web项目,名字叫testAxis2Demo
2、下载axit2 的war包,地址是:http://apache.fayea.com//axis/axis2/java/core/1.6.2/axis2-1.6.2-war.zip
3、将下载axit2中war包下的WEB-INF/lib/ 下所有的jar包,copy下来,放在web项目下的lib目录中
4、在web.xml 中添加如下配置:
<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>
5、在WebContent/ 目录下,创建一个文件夹 axit2-web ,然后在该文件下创建一个名叫 listServices.jsp 的文件,
该jsp中的代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@
page
import="org.apache.axis2.Constants,
org.apache.axis2.description.AxisOperation,
org.apache.axis2.description.AxisService,
java.util.Collection,
java.util.HashMap,
java.util.Iterator"%><html>
<head>
<title>List Services</title>
<style>
h2 {
margin: 20 0 5 0;
}
ul {
margin-top: 5;
}
</style>
</head>
<body>
<h1>Available services</h1>
<%
HashMap serviceMap = (HashMap) request.getSession().getAttribute(Constants.SERVICE_MAP);
Collection servicecol = serviceMap.values();
if(servicecol.size()==0){%>Available services is Empty.<%}
for (Iterator iterator = servicecol.iterator(); iterator.hasNext();) {
AxisService axisService = (AxisService) iterator.next();
Iterator opItr = axisService.getOperations();
String serviceName = axisService.getName();
%>
<h2>
<font color="blue"><a href="<%=serviceName %>?wsdl"
target="_blank"><%=serviceName%></a></font>
</h2>
<i>Available Operations</i>
<ul>
<%
while (opItr.hasNext()) {
AxisOperation axisOperation = (AxisOperation) opItr.next();
%><li><%=axisOperation.getName().getLocalPart()%></li>
<%
}
%>
</ul>
<%
}
%>
</body>
</html>
6、这样环境的搭建基本成功:
可以访问一下地址:http://localhost:8080/testAxis2Demo/services/listServices
注意:testAxis2Demo 这个是你项目的路径
如果出现下面信息,就说明搭建成功了
Available services
Available services is Empty.
下面开始创建自己写接口demo吧:
6、在WEB-INF 的文件下创建:services/dome/META-INF/services.xml
目录是没有的,要自己创建
7、services.xml 中必须的如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
<!-- 接口名 -->
<service name="testWebService">
<!-- 接口描述 -->
<description>测试接口</description>
<!-- 指定调用该接口会进行哪个类中去执行 -->
<parameter name="ServiceClass">com.webservice.control.TestWebservice</parameter>
<!-- 指定执行该类的哪个方法,并设置消息接收和返回的信息 -->
<parameter name="getMessege">
<!-- 设置消息交换模式:In-Out消息交换模式总是存在SOAP请求和应答 -->
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</parameter>
</service>
</serviceGroup>
8、在src下创建处理接口请求的类,在包com.webservice.control/TestWebservice.java,
该java代码中如下:
package com.webservice.control;
public class TestWebservice {
public String getMessege(String params){
String info = null;
try{
info = "接口调入成功,传入的参数是:"+params;
}catch (Exception e){
e.printStackTrace();
}
return info;
}
}
9、此时,webservice的demo就成功创建好了,自己可以用地址:http://localhost:8080/testAxis2Demo/services/testWebService?wsdl
在soapUI中进行调用。
下面附上项目结构图:
10:以下是该项目的war包,可以直接运行:http://download.csdn.net/detail/u012149894/8404661