当前位置: 首页 > news >正文

springboot项目如何调用webservice-soap接口

首先基于soap协议的传输的话,是基于类似于xml这样的wsdl格式进行传输的

        <dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-spring-boot-starter-jaxws</artifactId><version>3.3.4</version><exclusions><exclusion><groupId>javax.validation</groupId><artifactId>validation-api</artifactId></exclusion><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></exclusion><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></exclusion></exclusions></dependency>

如果是springboot项目一定要把里边的这几个依赖排除掉,否则因为已经引入过对应的依赖了,在启动的时候会发生冲突

下边介绍两种方式:

一,首先是基于cxf的动态代理的方式

 JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();Client client = dcf.createClient(wsdl接口路径);Object[] objects = client.invoke("方法名称",方法参数);objects[0]就是这个方法的返回值//这里注意,如果是传递是一个对象的话,一定要注意传递的类的全路径一定要和服务端的类全路径一致,否则,会出现接受错误

二,通过java的wsimport生成客户端代码的方式,命令如下

wsimport  -s  客户端代码生成全路径   -p  代码的包路径   请求接口地址

 然后就可以通过下边这种调用方法这样的方式直接拿到调用的返回值

 AlarmHandleService alarmHandleService=new AlarmHandleService();AlarmHandleServiceSoap alarmHandleServiceSoap = alarmHandleService.getAlarmHandleServiceSoap();ReturnMessage returnMessage = alarmHandleServiceSoap.alarmSend(alarmSendMessage);

相关文章:

  • IIC协议总结
  • 【MySQL】深入解析 Buffer Pool 缓冲池
  • 用 TVMC 编译和优化模型(2)
  • vue3输入单号和张数,自动生成连号的单号
  • 初阶数据结构之---栈和队列(C语言)
  • 【04】C语言括号匹配问题
  • WebServer -- 注册登录
  • Spring Cloud Gateway-系统保护Sentinel集成
  • 什么是区块链粉尘攻击?
  • 【Spring连载】使用Spring Data访问 MongoDB----对象映射之属性转换器
  • 如何打印 springboot 框架中 接收请求的日志
  • 爬虫的一些小技巧总结
  • C++:模版初阶 | STL简介
  • 【Mybatis】快速入门 基本使用 第一期
  • 【JS】解构赋值注意点,解构赋值报错
  • 【译】理解JavaScript:new 关键字
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • css的样式优先级
  • ESLint简单操作
  • Java精华积累:初学者都应该搞懂的问题
  • js 实现textarea输入字数提示
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Redux系列x:源码分析
  • sessionStorage和localStorage
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Sublime text 3 3103 注册码
  • windows下如何用phpstorm同步测试服务器
  • 安卓应用性能调试和优化经验分享
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 解析带emoji和链接的聊天系统消息
  • 类orAPI - 收藏集 - 掘金
  • 如何设计一个微型分布式架构?
  • 怎么把视频里的音乐提取出来
  • k8s使用glusterfs实现动态持久化存储
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #pragma data_seg 共享数据区(转)
  • $.each()与$(selector).each()
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)SpringCloud 整合Python
  • (arch)linux 转换文件编码格式
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (力扣题库)跳跃游戏II(c++)
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • .aanva
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .Net Web窗口页属性
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net6+aspose.words导出word并转pdf
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET开发人员必知的八个网站
  • .NET企业级应用架构设计系列之应用服务器