首先肯定是导入相关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接口开发的更多相关文章

  1. 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题

    最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...

  2. Java基于ssm框架的restful应用开发

    Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token ...

  3. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

    概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...

  4. 基于SSM框架的JavaWeb通用权限管理系统

    - - ->关注博主公众号[C you again],获取更多IT资源(IT技术文章,毕业设计.课程设计系统源码,经典游戏源码,HTML网页模板,PPT.简历模板,!!还可以投稿赚钱!!,点击查 ...

  5. [UWP]分享一个基于HSV色轮的调色板应用

    1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...

  6. 基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)

    本篇文章给大家带来的内容是关于基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 公司需要实现X分钟内每隔Y秒 ...

  7. ssm框架下怎么批量删除数据?

    ssm框架下批量删除怎么删除? 1.单击删除按钮选中选项后,跳转到js函数,由函数处理 2. 主要就是前端的操作 js 操作(如何全选?如何把选中的数据传到Controller中) 3.fun()函数 ...

  8. 分享一个基于 ABP(.NET 5.0) + vue-element-admin 管理后台

    1.前言 分享一个基于ABP(.NET 5.0) + vue-element-admin项目.希望可以降低新手对于ABP框架的学习成本,感兴趣的同学可以下载项目启动运行一下.对于想选型采用ABP框架的 ...

  9. JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice

    JEECG系列教程二 如何在JEECG框架下使用webservice 本文所使用的webservice是c#开发的 其实无论是什么语言开发的webservice用法都一样 java springmvc ...

随机推荐

  1. [LeetCode] Transform to Chessboard 转为棋盘

    An N x N board contains only 0s and 1s. In each move, you can swap any 2 rows with each other, or an ...

  2. window10, java环境配置完后在cmd,输入java成功了,但为什么输入javac就失败了

    一.Path的配置:按一般的网上教程,配置时都会是复制这段[%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;] win10的都分开显示,还是比较直观,但由于编辑器的原因,所有变 ...

  3. [crypto][ipsec] 简述ESP协议的sequence number机制

    预备 首先提及一个概念叫重放攻击,对应的机制叫做:anti-replay https://en.wikipedia.org/wiki/Anti-replay IPsec协议的anti-replay特性 ...

  4. Python 字符串的索引

    字符串是字符的有序集合,可以通过其位置来获得具体的元素.在 python 中,字符串中的字符是通过索引来提取的,索引从 0 开始. python 可以取负值,表示从末尾提取,最后一个为 -1,倒数第二 ...

  5. netstat lsof ps 常用场景

    1.netstat 命令可以帮助检查本机的网络状况实战应用1:公司内部的一个老服务运行在192.168.1.1:50060上,服务将于一周之后停用,再在要查一下本机上有没有进行在调用该服务.[root ...

  6. npm run dev没反应

    npm config set registry https://registry.npm.taobao.org npm install npm run dev

  7. python中闭包的理解

    闭包的三个条件: 1.函数(外函数)中定义了内函数:2.内函数使用了外函数的非全局变量:3.外函数最终返回的是内函数的引用. 简单闭包事例: #outerfunc为外函数 def outerfunc( ...

  8. ASP.NET操作DataTable各种方法总结(给Datatable添加行列、DataTable选择排序等)

      using System; using System.Collections.Generic; using System.Data; using System.Text; namespace Gz ...

  9. OO第一单元表达式求导作业总结

    第一次作业 功能描述: 对输入的表达式进行求导计算和格式正误判断   思路: 一开始的想法是想写一个大正则找到一个通项式,通过这个多项式来判断WRONG FORMAT,结果发现正则写的总是不完善,会漏 ...

  10. sublime There are no packages available for installation 问题的解决办法

    这个是因为IPv6的原因, 因此我们需要修改我们的 /etc/hosts文件. 第一步: 执行: nm-tool 获取DNS的信息 例如: DNS: 192.168.1.11 第二步: 在/etc/h ...