1.新建一个项目,结构如下

2.引入项目所需jar包

axis相关jar文件说明请查阅该博文

3.配置web.xml,注册axis2信息

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Spring+axis2</display-name>
<!-- 整合spring -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/appContext*.xml</param-value>
</context-param>
<!-- 注册axis2的servlet -->
<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> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

3.创建服务接口

 package com.chinawu.service;
/**
*
* @ClassName: IWebService
* @Description: WebService接口类
* @author 吴宇斌
* @date 2014-8-7 下午09:40:19
* @version 1.0
*/
public interface IWebService {
public String welcome();
public String getParamName(String str);
}

4.创建服务接口实现类

 package com.chinawu.service;
/**
*
* @ClassName: WeService
* @Description: WebService实现类
* @author 吴宇斌
* @date 2014-8-7 下午09:41:36
* @version 1.0
*/
public class WebService implements IWebService{ public String getParamName(String str) {
return "传入参数:"+str;
} public String welcome() {
return "welcome chinaWu!";
} }

5.创建spring配置文件

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="webService" class="com.chinawu.service.WebService"></bean>
</beans>

6.创建axis配置文件

<?xml version="1.0" encoding="UTF-8"?>
<service name="WebService">
<description>Spring+axis2</description>
<parameter name="ServiceClass">
com.chinawu.service.WebService
</parameter>
<parameter name="SpringBeanName">webService</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>

7.服务访问

http://localhost/spring2axis/services/WebService?wsdl

8.客户端接口调用

package com.chinawu.client;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient; public class Client {
public static void main(String[] args1) throws AxisFault { EndpointReference targetEPR = new EndpointReference("http://localhost/spring2axis/services/WebService");
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setTo(targetEPR); QName opAddDevice = new QName("http://service.chinawu.com", "welcome");
Object[] opGetArgs = new Object[] {};
Class[] returnTypes = new Class[] { String.class };
Object[] response = serviceClient.invokeBlocking(opAddDevice,opGetArgs, returnTypes);
String result = (String)response[0];
System.out.println("WebService-welcome-reutnInfo:"+result); opAddDevice = new QName("http://service.chinawu.com", "getParamName");
opGetArgs = new Object[] {"你好!"};
returnTypes = new Class[] { String.class };
response = serviceClient.invokeBlocking(opAddDevice,opGetArgs, returnTypes);
result = (String)response[0];
System.out.println("WebService-getParamName-reutnInfo:"+result);
}
}

输出结果信息

9.查看服务列表

http://localhost/spring2axis/services/listServices

至此spring成功集成axis,项目源码下载地址: http://pan.baidu.com/s/1gd8BwYn

最新文章

  1. JSP的9大内置对象
  2. 新上市Lighthouse专用芯片TS3633规格介绍
  3. cocos2d-x 3.2 创建新项目问题
  4. Visual Studio 2012 cannot identify IHttpActionResult
  5. safari的坑
  6. [Hive - LanguageManual] Select base use
  7. IO与文件读写---使用Apache commons IO包提高读写效率
  8. 7-days-asp-dotnet-mvc-day1
  9. 【BZOJ 4652】【NOI 2016】循环之美
  10. 函数的创建与区别和 prototype
  11. 初学ubuntu命令
  12. 1788:Pell数列
  13. SSL延迟有多大?
  14. linux下 mysql主从备份
  15. Java的三种多线程
  16. 第一次用python,成功的感觉不错。
  17. pom通用依赖
  18. 【转载】chrome控制台中看见的cookie属性详解
  19. 【转】Windows Error Code(windows错误代码详解)
  20. CVE-2017-11882复现-office命令执行

热门文章

  1. ionic2踩坑之ionic resources失败
  2. 如果你的unordered_map头文件报错请看这里
  3. 一些JavaScript中原理的简单实现
  4. [USACO5.1] Musical Themes
  5. JXJJOI2018_T1_market
  6. derby常用语法
  7. Welcome to Erhan Blog
  8. Archlinux 自动挂载移动硬盘,开机自动启动smb服务
  9. Html的label和span的区别
  10. Spring源码分析-BeanFactoryPostProcessors 应用之 PropertyPlaceholderConfigurer