分享一个基于ssm框架下的webService接口开发
首先肯定是导入相关jar包
cxf-core-3.1.9.jar
cxf-rt-bindings-soap-3.1.9.jar
cxf-rt-bindings-xml-3.1.9.jar
cxf-rt-databinding-jaxb-3.1.9.jar
cxf-rt-frontend-jaxws-3.1.9.jar
cxf-rt-frontend-simple-3.1.9.jar
cxf-rt-transports-http-3.1.9.jar
cxf-rt-ws-addr-3.1.9.jar
cxf-rt-ws-policy-3.1.9.jar
cxf-rt-wsdl-3.1.9.jar
第二步配置spring-cxfService的xml(我是做了两个接口):
<jaxws:endpoint id="receiveBomService" implementor="com.thinkgem.jeesite.modules.bom.CatchfromPbomImpl"
address="/receiveBomService"/>
<jaxws:endpoint id="nameService" implementor="com.thinkgem.jeesite.modules.bomname.CatchfromPBomNameImpl"
address="/nameService"/>
第三步 配置web.xml内增加一个servlet:
cxf
org.apache.cxf.transport.servlet.CXFServlet
cxf
/ws/*
第四步,编写相关接口:
package com.thinkgem.jeesite.modules.bom;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import com.thinkgem.jeesite.modules.bomname.StatusBomCatchName;
@WebService(targetNamespace="http//:test2")
public interface CatchfromPbom {
/**
* 测试用于获取list
* @param list
* @return
/
// @WebMethod(operationName="methodName")
// public String getDataList(List list);
/*
* 测试用于获取实体
* @return
*/
@WebMethod(operationName="getEntity")
// public String getEntity(CatchFromBom t);
public StatusBomCatchName getEntity(@WebParam(name="fdzcode") String fdzcode,@WebParam(name="dzcode") String dzcode,
@WebParam(name="dzname") String dzname,@WebParam(name="num") String num,
@WebParam(name="ht")String ht);
}
第五步:接口的实现类
package com.thinkgem.jeesite.modules.bom;
import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.thinkgem.jeesite.modules.bom.entity.CatchFromBom;
import com.thinkgem.jeesite.modules.bom.service.CatchFromBomService;
import com.thinkgem.jeesite.modules.bomname.StatusBomCatchName;
/**
- 服务端提供的服务
- @author 边艳明
*/
@WebService(endpointInterface="com.thinkgem.jeesite.modules.bom.CatchfromPbom",
serviceName="receiveBomInfo",targetNamespace="http//:test2")
public class CatchfromPbomImpl implements CatchfromPbom {
@Autowired
private CatchFromBomService catchFromBomService;
protected Logger logger = LoggerFactory.getLogger(getClass());
public @WebResult(name="result")StatusBomCatchName getEntity(@WebParam(name="fdzcode") String fdzcode,@WebParam(name="dzcode") String dzcode,
@WebParam(name="dzname") String dzname,@WebParam(name="num") String num,
@WebParam(name="ht")String ht) {
StatusBomCatchName stat = new StatusBomCatchName();
try {
String f = fdzcode.trim();
if(f != null) {
stat.setL_RET_STATUS("s");
String subfdzcode = f.substring(0,3);//去空格后再去截取
if("FDZ".equals(subfdzcode)) {
CatchFromBom c1 = new CatchFromBom();
c1.setBomDzcode(dzcode);
c1.setBomFdzcode(fdzcode);
CatchFromBom byDzCodeSingle = catchFromBomService.getByDzCodeSingle(c1);//根据dzcode进行查询
c1.setBomHtCode(ht);
c1.setBomCount(num);
catchFromBomService.save(c1);
logger.debug("打印输出日志:"+c1.getBomFdzcode()+" "+c1.getBomDzcode()+" "+c1.getBomDzname());
}
return stat;
}
stat.setL_RET_STATUS("e");
return stat;
}catch(Exception e) {
e.printStackTrace();
stat.setL_RET_STATUS("e");
return stat;
}
}
}
最后就是启动你的项目,访问地址为https://localhost:8080/项目名/ws/
通过点击内部的连接,url后面的形式为?wsdl 就可以通过soapui进行测试接口的连通性
这样就结束了
我是新手,第一次做,希望有好方法的多提意见
分享一个基于ssm框架下的webService接口开发的更多相关文章
- 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题
最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...
- Java基于ssm框架的restful应用开发
Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token ...
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...
- 基于SSM框架的JavaWeb通用权限管理系统
- - ->关注博主公众号[C you again],获取更多IT资源(IT技术文章,毕业设计.课程设计系统源码,经典游戏源码,HTML网页模板,PPT.简历模板,!!还可以投稿赚钱!!,点击查 ...
- [UWP]分享一个基于HSV色轮的调色板应用
1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...
- 基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)
本篇文章给大家带来的内容是关于基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 公司需要实现X分钟内每隔Y秒 ...
- ssm框架下怎么批量删除数据?
ssm框架下批量删除怎么删除? 1.单击删除按钮选中选项后,跳转到js函数,由函数处理 2. 主要就是前端的操作 js 操作(如何全选?如何把选中的数据传到Controller中) 3.fun()函数 ...
- 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台
1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...
- JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice
JEECG系列教程二 如何在JEECG框架下使用webservice 本文所使用的webservice是c#开发的 其实无论是什么语言开发的webservice用法都一样 java springmvc ...
随机推荐
- Havel-Hakimi定理的方法来构图
给定一组非负数字,(数字为节点的度),判断该组数字能不能构成图. Havel-Hakimi定理: 将序列按照从大到小排序之后,从第二个数开始到第一个数的长度+1为止,依次减1.每操作一次,删掉第一个数 ...
- mysql字符集校对
常用的两种 utf8_general_ci 按照普通的字母顺序,而且不区分大小写(比如:a B c D)utf8_bin 按照二进制排序(比如:A排在a前面,B D a c) ci是 case ins ...
- linux下利用C或C++ 语言调用需要root权限的函数
1.setuid法(1)登录root用户,将程序设置成root:root所有者(等价于:登录root用户编译程序).也可直接将普通用户加入root组中,那么编译程序不用来回切换用户.(2)登录root ...
- Nginx基本安装
Windows安装Nginx 解压:nginx-windows 双击: nginx.exe 能看到nginx欢迎界面说明,nginx安装成功 演示下 nginx做静态服务器 启动Nginx C:\se ...
- day26:静态方法,类方法和反射
1,包内部不要去尝试应用使用相对导入,一定不会成功的,他不支持这个机制,包内导入时一定要用绝对导入 2,复习接口类,抽象类,Python中没有接口类,有抽象类,抽象类是通过abc模块中的metacla ...
- PHP Xdebug + PhpStorm调试远程服务器代码
1.服务器(linux centos)安装xdebug pecl install xdebug 注意看安装完成之后会显示 debug.so 的路径,记录下来 2.配置 php.ini如果不知道php. ...
- YOLO V3 错误总结
问题1 TypeError: function takes exactly 1 argument (3 given) 报错说PIL库中的函数只接收到一个参数,应该给三个,自己在这里记录下解决方法,出错 ...
- POI导出excel列宽自适应
让单元格宽度随着列和单元格值的宽度自适应: //存储最大列宽 Map<Integer, Integer> maxWidth = new HashMap<>(); // 将列头设 ...
- 在Vuex更新,组件内的视图更新问题
由于js的限制,vue无法进行监听数组; 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如: vm.items.len ...
- 为多维数组添加一列以及reshape用法注意
https://blog.csdn.net/orangefly0214/article/details/80934008参考这个了链接 下面是我自己用到的代码,亲测可用 # data = pd.rea ...