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给我们 ...
随机推荐
- antd在线换肤定制功能
最近react项目,用的antd框架,然后看见他的antdPro例子里面有个定制功能很帅,老大说做,那就做吧,鼓捣了一晚终于实现了. 先看预览效果吧 css换肤 入行前端的时候经常看鱼哥(张鑫旭)的博 ...
- jstack 查看线程状态
使用jstack pid命令可以查看JVM的线程状态,其中值得关注的线程状态有:死锁,Deadlock(重点关注)执行中,Runnable等待资源,Waiting on condition(重点关注) ...
- Python 基础 json 与pickle
json 支持: str,int,tuple,list,dictpickle 支持python里所有的数据类型(包括函数) 只能在python中使用 json 与pickle 是一种 ...
- 使用SolrNet访问Solr-5.5.0
由于今年年初刚发布的Solr-5.5.0,网上所能找到的资料少之又少,所以只能靠自己一点点摸索. 从某Hub上下载了SolrNet源码,按照教程提交文档或者查询均失败,无奈只得跟断点一点点差怎么回事. ...
- solr的multivalued使用说明
solr的schema.xml配置文件在配置Filed的时候,有个属性: MutiValued:true if this field may containmutiple values per doc ...
- shell for的使用
好久没写shell了,花了半个小时才写对,不常用果然不够熟悉,以后还是得每天花半个小时写写shell #!/bin/sh #set -x p="/" cd $p echo $(pw ...
- JAVA Spring JavaBean 属性值的注入方式( 属性注入, 特殊字符注入 <![CDATA[ 带有特殊字符的值 ]]> , 构造器注入 )
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- ajax 遍历json一维数组
$.each(data,function(index,value){}data必须是Object类型index是数组的下标value可以是一个对象 function myonclick() { var ...
- CentOS 7 基础命令安装
https://my.oschina.net/u/1428349/blog/288708 1. ifconfig安装 > yum install net-tools 临时变量(可以直接使用sbi ...
- UI5-文档-4.4-XML Views
将所有UI放到index.html文件将很快导致一个混乱的设置,有相当多的工作在我们前面.我们先用sap.m.Text进行模块化.控件导入专用视图. SAPUI5支持多种视图类型(XML.HTML.J ...