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 ...
随机推荐
- C/C++语言for循环语句执行顺序
for循环如下: ; i<; ++i) { } 执行顺序如下: 1.i=0 初始化初值 2.i<10 进行判断,如果条件为真,则继续执行 3.执行循环体代码 4.i++ 变量i自增 5. ...
- JS事件委托(事件代理,dom2级事件)
一.前言 说实话,真问我什么是事件委托,我肯定gg,还好查了一下,原来就是我之前练习过的DOM2级事件的应用. 二.什么是事件委托? 事件委托就是当事件触发时,把要做的事委托给父元素(或父元素的父元素 ...
- 分支结构case 语句语法
- how to use gflags
参考https://blog.csdn.net/jcjc918/article/details/50876613 安装: git clone https://github.com/gflags/gfl ...
- linux随笔-03
必须掌握的Linux命令 系统状态检测命令 1.ifconfig命令 ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”. 使用ifconfig命 ...
- React 组件嵌套 父子关系
代码实例; <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" ...
- Python执行和拷贝
import paramiko from scp import SCPClient class LinuxSSHSCP(object): def __init__(self, ip, username ...
- Java8使用实现Runnable接口方式创建新线程的方法
环境介绍 JDK版本:1.8 开发架构:spring boot 2.x 日志:slf4j 实现步骤 Runnable接口中只有一个run()方法,它是非Thread类子类的类提供的一种激活方式.一个类 ...
- make编写教程(二)
1. make中的变量 makefile中的变量就是c/c++中的宏 2. 引用其他的make文件 类似于c语言中的#include,被包含的文件会原模原样的放在当前文件的包含位置. include& ...
- Django基础--Django基本命令、路由配置系统(URLconf)、编写视图、Template、数据库与ORM
web框架 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构. 使用框架可以帮你快速开发特定的系统. 简单地说,就是你用别人搭建好的舞台来做表演. 尝试搭建一个简单 ...