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 的整合(服务器端)的更多相关文章

  1. SpringMVC中使用Swagger2整合

    Swagger2是什么 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 W ...

  2. 1.springMVC+spring+Mybatis的整合思路

    SSM整合的过程:就是把一些东西交给spring管理,也就是添加配置文件的一个过程.那么有哪些东西我们要交给spring管理呢?大概有以下几个: 1.数据源(可配置数据库连接池) 2.SqlSessi ...

  3. SSM框架整合的详细过程(含每一步的分析及代码)。实质上是SpringMVC与mybatis的整合,应为spring与SpringMVC不需要整合。

    为了更好的学习 springmvc和mybatis整合开发的方法,需要将springmvc和mybatis进行整合. 整合目标:控制层采用springmvc.持久层使用mybatis实现. 1.1 需 ...

  4. Spring+SpringMVC+MyBatis+Maven框架整合

    本文记录了Spring+SpringMVC+MyBatis+Maven框架整合的记录,主要记录以下几点 一.Maven需要引入的jar包 二.Spring与SpringMVC的配置分离 三.Sprin ...

  5. SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传

    SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...

  6. JavaWeb_(SpringMVC框架)测试SpringMVC&Spring&MyBatis三大整合

    搭建 SpringMVC&Spring&MyBatis三大整合 传送门 1.准备 测试搭建S pringMVC&Spring&MyBatis三大整合 用例   a)准备 ...

  7. 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. ...

  8. spring4+springmvc+springdataJPA+hibernate4+Junit4整合懒加载问题

    文章目录 技术交流 #摘要 本文主要是为了解决"spring4+springmvc+springdataJPA+hibernate4+junit4整合",注解了OneToMany. ...

  9. WebService(axis2),整合springmvc

    webservice:不同组织或者部门之间互通数据 https://www.cnblogs.com/buggou/p/8183738.html 1 package com.sh.test; 2 3 4 ...

随机推荐

  1. Ansible@一个高效的配置管理工具--Ansible configure management--翻译(三)

    未经书面许可.请勿转载 一张图简单概括 Simple Playbooks Ansible is useful as a command-line tool for making small chang ...

  2. 【笔记目录2】ASP.NET Core分布式项目实战

    当前标签: ASP.NET Core分布式项目实战 共2页: 上一页 1 2  11.ClientCredential模式总结 GASA 2019-03-11 12:59 阅读:26 评论:0 10. ...

  3. 【记录】git 拉取远程分支代码,同步到另一个git上

    最近有需求从某git 上拉取所有分支代码同步到另一git上,现记录操作步骤,以便日后使用: 1:先克隆其中一个分支代码到本地环境 git clone -b test http://账号:密码@XXX. ...

  4. BZOJ 2238: Mst DFS序+KDtree

    明明可以用二维数点来做啊,网上为什么都是树剖+线段树呢 ? code: #include <cstdio> #include <cstring> #include <al ...

  5. AI行业精选日报_人工智能(12·24)

    特斯拉完全自动驾驶进步:新系统能识别交通信号标志 12 月 24 日,有美国车友称,升级最新的特斯拉 2019.40.50 系统后已经可以识别红绿灯和停车标志(目前仅限搭载 HW3.0 硬件的车型), ...

  6. Shell及其操作环境

    来源: 鸟哥的Linux私房菜第十章.認識與學習BASH Shell是什么?1分钟理解Shell的概念! ssh在本地调用远程主机上的命令,不登录远程主机shell 一.Shell Shell 是一个 ...

  7. cerebro使用

    一.安装cerebro 上传插件到任意路径 tar zxvf 解压插件包 [root@ngsocdev14 es]# ls cerebro-0.8.3.zip software [root@ngsoc ...

  8. 微信小程序常用API组件开发

    关于小程序 张小龙定义小程序: 1.不需要下载安装即可使用: 2.用完即走,不用关心是否安装太多应用: 3.应用无处不在,随时可用. 特点: 1.适合业务逻辑简单的应用: 2,.适合低频应用: 3.适 ...

  9. sql 基础语法 alter用法和视图,透视

    --查询没有被删除的学生 alter table StuInfo --修改列属性 alter column isdelete bit null alter table StuInfo --删除列 dr ...

  10. centos6编译安装php7

    https://www.cnblogs.com/wenwei-blog/p/6261637.html https://www.cnblogs.com/imzye/p/5109770.html cent ...