SpringBoot整合CXF开发基于soap协议的服务
来源:互联网 发布:手机电脑摄像头软件 编辑:程序博客网 时间:2024/06/05 13:21
SpringBoot整合CXF开发基于soap协议的服务,分为服务端和客户端开发
一、服务端开发
1、新建SpringBoot工程,略
2、实体类
package com.example.demo.pojo;import java.io.Serializable;public class User implements Serializable {private static final long serialVersionUID = 1L;private Long userId;private String username;private String email;public Long getUserId() {return userId;}public void setUserId(Long userId) {this.userId = userId;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
3、服务接口
package com.example.demo.service;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;import com.example.demo.pojo.User;@WebServicepublic interface UserService {@WebMethodpublic String getName(@WebParam(name = "userId") Long userId);@WebMethodpublic User getUser(long userId);}
4、服务实现类
package com.example.demo.service.impl;import javax.jws.WebService;import com.example.demo.pojo.User;import com.example.demo.service.UserService;@WebService(targetNamespace = "http://service.demo.example.com/", endpointInterface = "com.example.demo.service.UserService")public class UserServiceImpl implements UserService {@Overridepublic String getName(Long userId) {return "xiaogao" + userId;}@Overridepublic User getUser(long userId) {User user = new User();user.setUserId(2l);user.setUsername("gaoyi");user.setEmail("315319976@qq.com");return user;}}
5.配置类
package com.example.demo.config;import javax.xml.ws.Endpoint;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 com.example.demo.service.UserService;import com.example.demo.service.impl.UserServiceImpl;@Configurationpublic class CxfConfig {@Beanpublic ServletRegistrationBean dispatcherServlet() {return new ServletRegistrationBean(new CXFServlet(), "/soap/*");}@Bean(name = Bus.DEFAULT_BUS_ID)public SpringBus springBus() {return new SpringBus();}@Beanpublic UserService userService() {return new UserServiceImpl();}//此处要注意导入正取的Endpoint、EndpointImpl包@Beanpublic Endpoint endpoint() {EndpointImpl endpoint = new EndpointImpl(springBus(), userService());endpoint.publish("/user");return endpoint;}}6、运行springboot 工程,并访问 http://localhost:8080/soap/user?wsdl
二、客户端开发
package com.example.demo.client;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;public class ClientTest {public static void main(String[] args) throws Exception {JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();Client client = clientFactory.createClient("http://localhost:8080/soap/user?wsdl");Object[] objects = client.invoke("getUser", 2l);System.out.println(objects[0].toString());}}
阅读全文
0 0
- SpringBoot整合CXF开发基于soap协议的服务
- Spring整合CXF发布基于SOAP协议的服务
- webservice--CXF+Spring整合发布SOAP协议的服务
- Spring+CXF开发基于SOAP协议的WebService
- webservice--CXF发布SOAP协议的服务
- Spring整合CXF开发基于rest的服务
- 使用 CXF 开发 SOAP 服务
- 基于SOAP协议的WEB服务研究
- Java WebService-CXF-基于SOAP的Web服务
- cxf基于soap的webservice
- 基于CXF框架下的SOAP Webservice服务端接口开发
- SOAP协议和基于SOAP的开发流程详述
- SOAP协议和基于SOAP的开发流程详述(转载)
- Web Service ---- CXF + SPRING 开发 SOAP服务
- CXF结合Spring 开发SOAP WebService服务
- SpringBoot + CXF 开发Web Service 服务
- soap协议的web服务
- 基于soap协议的开发模型(转)
- mapreduce细节
- gentoo安装全过程
- Perl的面向对象编程-构造函数
- 自己实现C++list容器
- MyBatis传入多个参数的问题
- SpringBoot整合CXF开发基于soap协议的服务
- TCP/IP协议
- C++判断是否为纯数字字符串
- C# Session 未对对象引用到实例
- unity屏幕截图
- Ubuntu16.04 下配置vsftpd服务器并配置pam-mysql验证以及其他功能的探索
- JavaScript-焦点事件
- Vue 之Element ui 中upload的那些事
- Hive学习笔记 --- Hive分区表的操作