java axis2 webservice 接口的开发搭建和demo

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






猜你喜欢

转载自blog.csdn.net/u012149894/article/details/43232017