SpringMVC 与axis2 的整合(服务器端)
1,新建一个web project项目,项目的目录 如下:

2,导入需要的jar包,本例用的是axis2 1.7.3版本。
3,创建接口。
package com.dsdl.hcm.webService.service;
import java.util.List;
import com.dsdl.hcm.businessmanagement.bean.HcmEmptyboxBean;
public interface EmptyBoxService {
public String fanhui(String s);
public int updateHcmEmptyBoxForBoxCodeBySano(List<HcmEmptyboxBean> hcmEmptyboxBeanList);
public int getPrice();
public String getGreeting(String name);
public String recieveXml(String str);
}
4,创建接口的实现类EmptyBoxServiceImpl
package com.dsdl.hcm.webService.service.impl; import java.util.ArrayList;
import java.util.List; import javax.annotation.Resource; import com.dsdl.hcm.businessmanagement.bean.HcmEmptyboxBean;
import com.dsdl.hcm.businessmanagement.dao.HcmEmptyboxDao;
import com.dsdl.hcm.webService.bean.HcmEmptyboxPojo;
import com.dsdl.hcm.webService.service.EmptyBoxService;
import com.dsdl.hcm.webService.xmlUtil.Xml;
import com.dsdl.hcm.webService.xmlUtil.XmlHead;
import com.dsdl.hcm.webService.xmlUtil.XmlUtil; public class EmptyBoxServiceImpl implements EmptyBoxService { @Resource(name="hcmEmptyboxDao")
public HcmEmptyboxDao hcmEmptyboxDao; @Override
public String fanhui(String s) {
// TODO Auto-generated method stub
return s+""+hcmEmptyboxDao.toString();
} @Override
public int updateHcmEmptyBoxForBoxCodeBySano(
List<HcmEmptyboxBean> hcmEmptyboxBeanList) {
// TODO Auto-generated method stub
return hcmEmptyboxDao.updateHcmEmptyBoxForBoxCodeBySano(hcmEmptyboxBeanList);
} @Override
public int getPrice() {
// TODO Auto-generated method stub
System.out.println(hcmEmptyboxDao+"================");
return 11;
} @Override
public String getGreeting(String name) {
// TODO Auto-generated method stub
return "你好 " + name;
}
@Override
public String recieveXml(String str){
try {
Xml xml = new Xml();
Xml xmls = (Xml) XmlUtil.getObjectFromXml(xml, str);
System.out.println(xmls.getXMLHEAD().getREQUESTUSER()); switch (xmls.getXMLHEAD().getREQUESTMETHOD()) {
case "writebackboxcode":
return this.writeBackBoxCode(xmls);
default:
return this.writeBackBoxCode(xmls);
} } catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "异常";
}
} private String writeBackBoxCode(Xml xmls) {
// TODO Auto-generated method stub
// BusinessManagementController businessManagementController = (com.dsdl.hcm.businessmanagement.controller.BusinessManagementController) ctx.getBean("businessManagementController");
List<HcmEmptyboxPojo> HcmEmptyboxPojo = xmls.getXMLBODY().getHCMEMPTYBOXPOJOLIST();
List<HcmEmptyboxBean> hcmEmptyboxBeanList = new ArrayList<HcmEmptyboxBean>();
HcmEmptyboxBean hcmEmptyboxBean = null; for (HcmEmptyboxPojo temp : HcmEmptyboxPojo) {
hcmEmptyboxBean = new HcmEmptyboxBean();
hcmEmptyboxBean.setSano(temp.getSANO());
hcmEmptyboxBean.setBoxCode(temp.getBOXCODE());
hcmEmptyboxBeanList.add(hcmEmptyboxBean);
}
int count = hcmEmptyboxDao.updateHcmEmptyBoxForBoxCodeBySano(hcmEmptyboxBeanList);
Xml resultXml = new Xml();
XmlHead xmlHead = new XmlHead();
xmlHead.setREQUESTTIME("");
xmlHead.setREQUESTUSER("");
if(count > 0){
xmlHead.setSTATUS(1);
xmlHead.setSTATUS_TEXT("成功");
}else{
xmlHead.setSTATUS(0);
xmlHead.setSTATUS_TEXT("失败");
}
resultXml.setXMLHEAD(xmlHead);
return XmlUtil.getXmlFromObject(resultXml);
}
}
5,webservice类SimpleService
package com.dsdl.hcm.webService.server;
import java.util.List;
import org.apache.axis2.AxisFault;
import org.apache.axis2.ServiceObjectSupplier;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.Parameter;
import org.apache.axis2.i18n.Messages;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import com.dsdl.hcm.businessmanagement.bean.HcmEmptyboxBean;
import com.dsdl.hcm.webService.service.EmptyBoxService; public class SimpleService implements EmptyBoxService {
private static ApplicationContext ctx; @Override
public String fanhui(String s) {
// TODO Auto-generated method stub
return null;
}
@Override
public int updateHcmEmptyBoxForBoxCodeBySano(
List<HcmEmptyboxBean> hcmEmptyboxBeanList) {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getPrice() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getGreeting(String name) {
// TODO Auto-generated method stub
return null;
}
@Override
public String recieveXml(String str) {
// TODO Auto-generated method stub
return null;
} }
6,web.xml
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/axis2.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
7, 所使用的框架是SSM,在配置文件中spring-mybatis.xml 中配置。
<bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" />
<bean id="emptyBoxService" class="com.dsdl.hcm.webService.service.impl.EmptyBoxServiceImpl"></bean>
在这个里面配置,主要取决于,web.xml的配置

8,WEB-INF\services\XXX\META-INF\services.xml,在此目录下配置service.xml ,如果不存在则自己创建。其中XXX可以自己定义。
<serviceGroup>
<service name="SimpleService" >
<description>
Test Service Example
</description>
<parameter name="ServiceObjectSupplier"><!-- 固定的不变 -->
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
</parameter>
<parameter name="SpringBeanName">emptyBoxService</parameter><!-- bean名字 -->
<parameter name="ServiceClass">
com.dsdl.hcm.webService.server.SimpleService
</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>
</serviceGroup>
到此为止,axis2+springMVC集成到此已经开发完成,接下把工程部署到tomcat。
访问地址是http://localhost:8080/HCM/services/SimpleService?wsdl。
本人亲测,如有不当之处,敬请批评指正,共同学习,共同进步。
SpringMVC 与axis2 的整合(服务器端)的更多相关文章
- SpringMVC中使用Swagger2整合
Swagger2是什么 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...
- 1.springMVC+spring+Mybatis的整合思路
SSM整合的过程:就是把一些东西交给spring管理,也就是添加配置文件的一个过程.那么有哪些东西我们要交给spring管理呢?大概有以下几个: 1.数据源(可配置数据库连接池) 2.SqlSessi ...
- SSM框架整合的详细过程(含每一步的分析及代码)。实质上是SpringMVC与mybatis的整合,应为spring与SpringMVC不需要整合。
为了更好的学习 springmvc和mybatis整合开发的方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用springmvc.持久层使用mybatis实现. 1.1 需 ...
- Spring+SpringMVC+MyBatis+Maven框架整合
本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- JavaWeb_(SpringMVC框架)测试SpringMVC&Spring&MyBatis三大整合
搭建 SpringMVC&Spring&MyBatis三大整合 传送门 1.准备 测试搭建S pringMVC&Spring&MyBatis三大整合 用例 a)准备 ...
- idea spring+springmvc+mybatis环境配置整合详解
idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...
- spring4+springmvc+springdataJPA+hibernate4+Junit4整合懒加载问题
文章目录 技术交流 #摘要 本文主要是为了解决"spring4+springmvc+springdataJPA+hibernate4+junit4整合",注解了OneToMany. ...
- WebService(axis2),整合springmvc
webservice:不同组织或者部门之间互通数据 https://www.cnblogs.com/buggou/p/8183738.html 1 package com.sh.test; 2 3 4 ...
随机推荐
- Moco 框架以及其在 Web 集成测试的应用
转自:https://www.ibm.com/developerworks/cn/web/1405_liugang_mocowebtest/ Moco 框架以及其在 Web 集成测试的应用 我们往往将 ...
- 52.Product of Array Except Self(除过自身的数组乘积)
Level: Medium 题目描述: Given an array nums of n integers where n > 1, return an array output such ...
- 四、spring的JDBC模板和事务管理
Spring的JDBC模板 Spring是JavaEE开发的一站式框架,对各种持久化技术都提供了简单的模板 ORM持久化技术 模板类 JDBC org.springframework.jdbc.cor ...
- sqlldr - exit error code 2 in unix (merged)
http://www.orafaq.com/forum/t/146582/ Thank you for your reply. Load has been successful all the tim ...
- java运算注意事项
/* 对于byte.short.char.插入三种类型来说,如果右侧固执的数值没有超过范围,那么java编译器就会自动隐含地位我们 补上一个(byte) ,(short),(char) 1.如果没有超 ...
- webpack学习(一)起步安装
起步 webpack 用于编译 JavaScript 模块.一旦完成安装,你就可以通过 webpack 的 CLI 或 API 与其配合交互.如果你还不熟悉 webpack,请阅读核心概念和打包器 ...
- 【leetcode】662. Maximum Width of Binary Tree
题目如下: Given a binary tree, write a function to get the maximum width of the given tree. The width of ...
- vs code常用插件(python)
1.chinese 作用:vscode设置为中文. 使用方法:Ctrl+Shift+P:输入 "config":选择zh 2.python 作用:调试 3.autoDocstrin ...
- 每天一个linux命令:cat(10)
cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 注意:当文件较大时,文本在屏幕上迅速 ...
- 饿了么监控系统 EMonitor 与美团点评 CAT 的对比
背景介绍 饿了么监控系统EMonitor:是一款服务于饿了么所有技术部门的一站式监控系统,覆盖了系统监控.容器监控.网络监控.中间件监控.业务监控.接入层监控以及前端监控的数据存储与查询.每日处理总数 ...