springboot+cxf 开发webservice
参考 https://www.cnblogs.com/fuxin41/p/6289162.html
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.xx</groupId>
<artifactId>webservice</artifactId>
<version>0.0.1-dev-SNAPSHOT</version>
<packaging>war</packaging> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/>
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-oracle</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
WebServiceConfig.java
package com.xx.ws.config; import com.xx.ws.service.UserService;
import com.xx.ws.service.UserServiceImpl;
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import javax.xml.ws.Endpoint; @Configuration
public class WebServiceConfig {
@Bean
public ServletRegistrationBean dispatcherServlet() {
return new ServletRegistrationBean(new CXFServlet(), "/ws/*");
} @Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
} @Bean
public UserService userService() {
return new UserServiceImpl();
} @Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), userService());
endpoint.publish("/userService");
return endpoint;
}
}
UserService.java
package com.xx.ws.service; import com.xx.ws.entity.DataEntity;
import com.xx.ws.entity.ResponseEntity;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import java.util.List; @WebService
public interface UserService {
@WebMethod
ResponseEntity createUser(@WebParam(name="data") DataEntity data); @WebMethod
ResponseEntity updateUser(@WebParam(name="guid") String guid, @WebParam(name="data") DataEntity data); @WebMethod
ResponseEntity deleteUser(@WebParam(name="guid") String guid); @WebMethod
List<DataEntity> queryByIds(@WebParam(name="ids") List<String> ids);
}
UserServiceImpl.java
package com.xx.ws.service; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.jws.WebService; import com.xx.ws.SecDao;
import com.xx.ws.entity.DataEntity;
import com.xx.ws.entity.ResponseEntity;
import com.xx.ws.util.RsaUtil;
import org.springframework.beans.factory.annotation.Autowired; @WebService(endpointInterface="com.xx.ws.service.UserService",
targetNamespace="http://service.ws.xx.com/")
public class UserServiceImpl implements UserService {
@Autowired
private SecDao secDao; public ResponseEntity createUser(DataEntity data) {
Map<String, String> attrs = data.getAttrs();
String userId = attrs.get("userId");
String roleId = attrs.get("roleId"); String uuid = getUUID(); ResponseEntity resp;
boolean exi = secDao.exist(userId);
boolean roleexi = secDao.existRole(roleId);
if (exi) {
resp = new ResponseEntity("用户已存在", "300", uuid, false);
} else if (!roleexi) {
resp = new ResponseEntity("不存在该权限", "300", uuid, false);
} else {
secDao.save(userId, attrs.get("userName"), attrs.get("password"), roleId);
resp = new ResponseEntity("success!!!", "200", uuid, true);
} return resp;
} public ResponseEntity updateUser(String guid, DataEntity data) {
Map<String, String> attrs = data.getAttrs();
String userId = guid;
String roleId = attrs.get("roleId"); String uuid = getUUID(); ResponseEntity resp;
boolean exi = secDao.exist(userId);
boolean roleexi = secDao.existRole(roleId); if (!exi) {
resp = new ResponseEntity("不存在该用户", "300", uuid, false);
} else if (!roleexi) {
resp = new ResponseEntity("不存在该权限", "300", uuid, false);
} else {
secDao.update(userId, attrs.get("userName"), attrs.get("password"), roleId);
resp = new ResponseEntity("success!!!", "200", uuid, true);
} return resp;
} public ResponseEntity deleteUser(String guid) {
ResponseEntity resp;
String uuid = getUUID();
boolean exi = secDao.exist(guid);
if (!exi) {
resp = new ResponseEntity("不存在该用户", "300", uuid, false);
} else {
secDao.delete(guid);
resp = new ResponseEntity("success!!!", "200", uuid, true);
} return resp;
}// queryByIds方法
public List<DataEntity> queryByIds(List<String> ids) {
List<Map<String, Object>> objectDatas = secDao.getByIds(ids); List<DataEntity> datas = new ArrayList<DataEntity>();
for (int i = 0; i < objectDatas.size(); i++) {
Map<String, String> map = new HashMap<String, String>();
Map<String, Object> tmp = objectDatas.get(i); map.put("userId", tmp.get("userId") + "");
map.put("userName", tmp.get("userName") + "");
map.put("roleId", tmp.get("roleId") + ""); DataEntity data = new DataEntity();
data.setAttrs(map); datas.add(data);
} return datas;
} private String getUUID() {
return UUID.randomUUID().toString().replaceAll("-", "");
}
}
Application.java
package com.xx.ws; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
ServletInitializer.java 如果需要打成war包,增加此文件
package com.xx.ws; import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer; /**
* Created by Administrator on 2017/11/14.
*/
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
springboot+cxf 开发webservice的更多相关文章
- springboot+CXF开发webservice对外提供接口(转)
文章来源:http://www.leftso.com/blog/144.html 1.项目要对外提供接口,用webservcie的方式实现 2.添加的jar包 maven: <dependenc ...
- struts1+spring+myeclipse +cxf 开发webservice以及普通java应用调用webservice的实例
Cxf + Spring+ myeclipse+ cxf 进行 Webservice服务端开发 使用Cxf开发webservice的服务端项目结构 Spring配置文件applicationCont ...
- 使用cxf开发webservice应用时抛出异常
在使用cxf开发webservice应用时,报出了类似下面的错误 JAXB: [javax.xml.bind.UnmarshalException: unexpected element (uri:& ...
- 【WebService】使用CXF开发WebService(四)
CXF简介 Apache CXF = Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix ...
- 使用cxf开发webservice接口
项目中经常用到开发webservice接口,及调用webService接口.这里讲解如何使用cxf开发webService接口. 一.webservice介绍及理解 webservice是一种跨平台, ...
- 3.使用CXF开发webService
CXF 简介 关于 Apache CXF Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache ...
- Spring boot+CXF开发WebService
最近工作中需要用到webservice,而且结合spring boot进行开发,参照了一些网上的资料,配置过程中出现的了一些问题,于是写了这篇博客,记录一下我这次spring boot+cxf开发的w ...
- Spring boot+CXF开发WebService Demo
最近工作中需要用到webservice,而且结合spring boot进行开发,参照了一些网上的资料,配置过程中出现的了一些问题,于是写了这篇博客,记录一下我这次spring boot+cxf开发的w ...
- (三)使用CXF开发WebService客户端
前面一讲开发了webservice服务器端接口,今天的话,我们来开发webservice客户端,让大家来体验下过程: 首先建一个Maven项目,项目名字,WS_Client: 然后我们要用CXF给我们 ...
随机推荐
- 如果安装提示缺少某vistal c++ 装完仍然报错,可以尝试
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python 从这个网站直接下载需要的包进行安装 来源 https://www.cnblogs.co ...
- [转]利用C#自带组件强壮程序日志
利用C#自带组件强壮程序日志 在项目正式上线后,如果出现错误,异常,崩溃等情况 我们往往第一想到的事就是查看日志 所以日志对于一个系统的维护是非常重要的 声明 正文中的代码只是一个栗子,一个非常简 ...
- Unreal Engine 4 性能优化工具(Profiler Tool)
转自:http://aigo.iteye.com/blog/2296548 Profiler Tool Reference https://docs.unrealengine.com/latest/I ...
- 【Unix网络编程】 chapter5 TCP客户,服务器程序实例
chapter5 5.1 概述 5.2 TCP回射服务器程序:main函数 int main(int argc, char **argv) { int listenfd,connfd; pid_t c ...
- Android ffmpeg rtmp(source code)
souce code: Android.mk 编译生成APK需要调用的so文件 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODU ...
- svn+apache快速安装
1.[安装基本软件包], yum -y install httpd subversion mod_dav_svn 2.[验证svn安装是否成功及httpd 的mod_dav模块是否加载] svn - ...
- 使用Apache POI处理excel公式不更新的解决办法
使用poi更新excel时,如果单元格A设置了公式,当其依赖的其他单元格填充了值之后,导出的excel中A仍为公式而不是自动计算的值,如图: Paste_Image.png 分值小计没有更新成计算结果 ...
- leetcode29
class Solution { public int divide(int dividend, int divisor) { if (dividend == Integer.MIN_VALUE &a ...
- [Ora]-1309. OCI is not properly installed on this machine (NOE1/INIT)
When the Oracle client software has not been properly installed, you will get an exception when tryi ...
- 表格(table)
Title 主机名 端口 操作 1111 10023 查看详情 修改 表头1 表头1 表头1 表头1 1 1 1 1 1 1 1 1 1 <!DOCTYPE html><html l ...