Springboot与cxf整合,并进行WebService服务端程序的开发

【WebService】springboot整合cxf实现webService远程调用 一、前言        在做接口对接的时候需要接口以HTTPS和WebService的形式暴露,虽然最近这几年restful非常火爆,但在一些特定的领域或者一些老旧系统中仍然采用WebService的形式来实现远程通信。       上一篇博客讲了WebService实现远程调用,在博文的最后,自己阐述了关于那种客户端调用存在的问题,如大家有疑问,欢迎留言区指正。二、实现       废话上一篇博... 阅读详情

现在一般都流行用微服务了,但有时候要和第三方对接时,偶尔会用到WebService。这里演示下如何与cxf进行整合,并进行WebService服务发布

1、首先在POM中添加以下依赖

<dependency>
   <groupId>org.apache.cxf</groupId>
   <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
   <version>3.1.11</version>
</dependency>

2、进行WebService接口编写

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public interface CalculateService {

    @WebMethod
    int add(int a, int b);
}

3、进行WebService接口的实现编写

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class CalculateServiceImpl implements CalculateService {

    @WebMethod
    @Override
    public int add(int a, int b) {
        return a + b;
    }
}

4、建立Webservice服务配置类

import com.company.cxf.service.CalculateService;
import com.company.cxf.service.impl.CalculateServiceImpl;
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 {

    /**
     * 发布服务名称,要注意这里方法名称不能用dispatcherServlet,否则会导致Controller服务无法正常响应
     */
    @Bean
    public ServletRegistrationBean wsDispatcherServlet(){
        return new ServletRegistrationBean(new CXFServlet(),"/service/*");
    }

    @Bean(name = Bus.DEFAULT_BUS_ID)
    public SpringBus springBus()
    {
        return  new SpringBus();
    }

    @Bean
    public CalculateService userService()
    {
        return new CalculateServiceImpl();
    }

    @Bean
    public Endpoint endpoint() {
        EndpointImpl endpoint=new EndpointImpl(springBus(), userService());//绑定要发布的服务
        endpoint.publish("/calculate"); //显示要发布的名称
        return endpoint;
    }

5、然后启动服务后,访问http://localhost:8080/service/calculate?wsdl。

可以用自己写个WebService客户端程序进行测试,或者用SOAP UI进行测试。

SpringBoot整合CXF Webservice + 源码(1) WebService(name = “CommonService”, // 暴露服务名称targetNamespace = “http://webservice.lli.com/”// 命名空间,一般是接口的包名倒序@WebMethod@WebMethod创建一个接口,定义两个接口方法,分别用来返回不同的信息,实际中根据具体需求来定义接口方法以及参数。注解:表明该接口是个 WebService 服务,name 属性用来定义该 webservice 服务名称; 阅读详情

相关推荐

使用Spring Boot整合MyBatis和CXF实现RESTful API和WebService API

在现代的软件开发中,构建高效且易于维护的API是至关重要的。使用Spring Boot框架,我们可以轻松地整合MyBatis和CXF,以实现RESTful API和WebService API。通过整合Spring Boot、MyBatis和CXF,我们可以轻松地构建具有RESTful API和WebService API的强大API。这个控制器定义了RESTful API的各种操作,包括获取所有用户、根据ID获取用户、创建用户、更新用户和删除用户。这个类实现了WebService API的各种操作。

JipForth的博客 298

SpringBoot集成CXF

Server端项目结构、Server端pom.xml、Server端实体类、Server端接口、Server端接口实现、Map类型返回值适配器、Server端自定义拦截器(调用接口方法前执行)、Server端配置类、Server端application.yml、启动Server端、Client端自动生成、Client端pom.xml、Client端自定义拦截器(发送SOAP消息时调用)、Client端测试类、彩蛋............

tongxin_tongmeng的博客 4401

CXF使用EndpointImpl发布WebService加入拦截器

CXF使用EndpointImpl发布WebService加入拦截器

[webservice] springboot整合cxf

xpath常用规则(其它规则可以参考文档:https://blog.youkuaiyun.com/qq_44619675/article/details/113938171)对于XML文档的读取来说,xpath几乎是通常的选择,而在使用webservice时通常伴随着对于XML文档的解析。springboot整合Apache cxf。2.3 service发布(cxf配置)文件包的bin目录下,然后执行如下命令。访问已经发布的服务。

七夜之家 2412

springBoot完整整合WebService框架CXF示例

完整可用的spring整合CXF示例项目,包括服务发布端和调用端两个项目,包括CXF拦截器的实现的简单的授权校验

单细胞marker基因表达密度图-(还有一个包装函数)

我们借助Nebulosa,将上面的过程包装为一个函数,还是那句话,受累麻烦的事我们来解决,您轻松即可,先看看函数参数:需要注意的是,如果你只想框选某一类celltype,理想模式是这群celltype是单独聚类的,没有散落在其他类群,否则将会全部框选,效果不好,建议使用AI/PS添加。需要注意,这里我算是投机取巧了,用了一个和这个作图毫无关系的包ggnetwork,主要的目的是用他的theme_blank()主题,一次性将所有清空,当然也可以自己慢慢写,不过有现成的,为啥不用呢?这质感不就上去了嘛。

qq_42090739的博客 1366

SpringBoot整合CXF框架实现Webservice服务端

1、前言 近期接手一个10多年的老项目,敲重点,10多年!!!就是最纯粹的servlet技术,貌似是从2008年运维到现在,老项目终究会有被淘汰的这一天,这不,到我接手的时候,我就是那接手的最后一个人,由我来开发数据迁移接口,通过Webservice接口调用的方式,把数据传输到新系统。没办法,只能忍住寂寞好好研究这坨代码。说来也是奇葩,这坨代码在一几年的时候,居然引入了Spring,导致这坨代码无敌臃肿,servlet和Spring共存,本身还引入了很古老的EJB框架,我直接当场头大。踩完了一个一个坑之后

qq_42109746的博客 2687

从零开始:使用Remix和MetaMask在测试网部署智能合约的完整指南

本文提供了一份完整的指南,教你如何使用Remix和MetaMask在测试网上部署智能合约。从环境搭建、获取测试网代币到编写和部署合约,再到与合约交互和连接Python后端,涵盖了智能合约开发的各个环节。特别适合初学者快速上手区块链开发,同时介绍了安全注意事项和调试技巧。

weixin_29019241的博客 472

【十二】springboot整合WebService

springboot整合WebService

weixin_56995925的博客 1万+

HFSS实战(二)——精准仿真高速PCB差分线的信号完整性

本文深入探讨了使用HFSS进行高速PCB差分线信号完整性仿真的关键技术与实战经验。从设计文件导入、模型裁剪到差分端口设置,详细解析了精准仿真的全流程,特别强调了材料特性和3D电磁场仿真在解决微带线损耗等问题中的重要性。文章还提供了常见问题排查指南和效率优化技巧,帮助工程师提升高速PCB设计的仿真精度与效率。

weixin_38170829的博客 571

人工智能情感分析实战:文本情绪识别

人工智能情感分析,特别是文本情绪识别,已成为理解和处理人类情感信息的重要工具。通过数据预处理、特征提取、模型训练与评估等步骤,我们可以有效地从文本数据中提取情感信息,为各种应用场景提供有价值的洞察。随着技术的不断进步和创新,情感分析的应用前景将更加广阔,为我们的生活和工作带来更多便利和机遇。

shejizuopin的博客 1094

SpringBoot整合CXF,实现Restful api 与 WebService api dao层使用Mybatis

1、本demo目的查询学生信息【为了方便没有写批量查询,也就是说以下getAllStudents也是一个一个查询【而且没有测试该方法正确性,之所以写只是为了规范,返回Student的集合Students也是一个独立的实体,非必需,请忽略】2、主要是网上好多不全,整合的时候各种坑,我就记录一下。一、老规矩,先搞个数据库命名demo【可自己修改】/* Navicat MySQL Data Transf...

梦境迷离 2万+

华为OD机试 - 名字的漂亮度(Java 牛客练习题)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个不同字母拥有相同的“漂亮度”。给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。给出多个字符串,计算每个字符串最大可能的“漂亮度”。第一行一个整数N,接下来N行每行一个字符串。数据范围:输入的名字长度满足。每个字符串可能的最大漂亮程度。

学Java,找哪吒 1785

【Springboot整合系列】SpringBoot整合WebService

SpringBoot整合WebService入门教程

低调做人,低调编码,神码都是浮云 2858

倍福EL6002实现RS232自由口通信,以称重模块RS232数据接收为例

RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。最早的台式电脑都会保留9针的232接口,用于串口通信,目前基本被USB接口取代。CTS是对请求发送RTS信号的响应,当DCE已经准备好接收数据时,该信号有效(ON),通知DTE可用使用TXD发送数据了。弄完了,再将CTS设置为1,让A发数据。

weixin_41883890的博客 1723

【Burp入门第三十三篇】BurpSuite+Proxifier安装配置,实现微信小程序抓包

本文介绍Burp+Proxifier安装配置,实现微信小程序抓包

等风来 5873

(SpringCloud中的WebService)SpringBoot整合CXF——服务端

文章目录引入jar包修改配置文件CXF配置类WS接口编写测试 在SpringBoot和SpringCloud微服务中,整合CXF都是一样的。直接上代码: 引入jar包 这里只给出了CXF先关的jar包,项目中的其他jar依赖略。 <!-- cxf start --> <dependency> <groupId>org.apache.cxf</groupI......

fyk的博客 9896

MATLAB GUI 水果成熟度分级系统设计与实现

本文基于 MATLAB GUI 设计并实现了一款水果成熟度分级系统,能够准确地评估水果的成熟程度。在实现过程中,我们运用了 MATLAB 中的函数实现对图像的处理和分析,同时使用 GUI 界面增加了系统的易用性。值得一提的是,在实际操作中,我们应该结合实际需求对系统进行相应的改进与完善,以满足不同领域和应用场景下的需求。实验结果表明,本系统可以有效地检测出水果的成熟度,并对其进行精准的评分。因此,本文设计并实现了一款基于 MATLAB GUI 的水果成熟度分级系统。三、MATLAB 代码实现。

uote_e的博客 706

SpringBoot整合WebService

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。其实WebService并不是什么神秘的东西,它就是一个可以远程调用的类,或者说是组件,把你本地的功能开放出去共别人调用。具体的说,Web Service可以让你的网站使用其他网站的资源,比如在网页上显示天气、地图、twitter上的最新动态等等。

林知屿的博客 3742

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SpringBoot 整合WebService详解

WebService服务端是以远程接口为主的,在Java实现的WebService技术里主要依靠CXF开发框架,而这个CXF开发框架可以直接将接口发布成WebService。RS基于Restful风格,WS基于SOAP的XML协议RS比WS传输的数据更少,效率更高WS只能传输XML数据,RS可以传输XML,也可以传输JSON参考:此处讲解JAX-WS。

Java的一只小实习生的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

springboot整合CXF发布webservice和客户端调用

springboot整合CXF发布webservice和客户端调用 项目使用springboot,首先附上项目结构 下面是pom中添加cxf支持: &lt;dependency&gt; &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt; &lt;artifactId&gt;cxf-spring-b...

maple_fix的博客 3万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SpringBoot整合CXF Webservice + 源码,web开发后台开发

WebService(name = “CommonService”, // 暴露服务名称targetNamespace = “http://webservice.lli.com/”// 命名空间,一般是接口的包名倒序@WebMethod@WebMethod创建一个接口,定义两个接口方法,分别用来返回不同的信息,实际中根据具体需求来定义接口方法以及参数。注解:表明该接口是个 WebService 服务,name 属性用来定义该 webservice 服务名称;

2401_84093203的博客 1072

SpringBoot整合CXF Webservice + 源码

WebService(name = “CommonService”, // 暴露服务名称targetNamespace = “http://webservice.lli.com/”// 命名空间,一般是接口的包名倒序@WebMethod@WebMethod创建一个接口,定义两个接口方法,分别用来返回不同的信息,实际中根据具体需求来定义接口方法以及参数。注解:表明该接口是个 WebService 服务,name 属性用来定义该 webservice 服务名称;

2501_90401256的博客 671

Springboot整合cxf进行WebService发布和WebService调用

targetNamespace = “http://service.nobody.com”, // 与接口中的命名空间一致,一般是接口的包名倒。targetNamespace = “http://service.nobody.com” // 命名空间,一般是接口的包名倒序。它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;

m0_61408947的博客 1618
上一篇: 判断一个字符是否是中文,计算字符长度
下一篇: 利用Dom4j解析XML
lichuangcsdn
博客等级 码龄12年 161粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值