webservice调用对接第三方系统

#webservice调用对接第三方系统#

最近接到一个任务,需要对接第三方数据,第三方提供对接方式的是通过webservice调用,webservice调用有好几种方式,具体可以自行了解,我选择的是通过wsdl文件自动生成客户端代码对接。

第一步:获取wsdl文件

既然是通过wsdl文件生成客户端代码的方式,那么首先就需要获得wsdl文件。wsdl文件去哪获取呢?

一般第三方会提供一个 wsdl 文件的访问地址,拿获取天气预报的访问地址来说格式如:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

ps:可能只给了前面一节http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,一般自行把"?wsdl"拼接上即可,或者直接访问http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,里面也会有提示

成功访问的话会进入到如下格式页面

这时可以ctrl+s保存或者查看源代码再ctrl+s保存,保存的时候后缀可以是xml或者wsdl,但这里建议是wsdl,xml和wsdl在第二步生成客户端代码的时候生成的代码会有区别,我用xml生成的代码在调用的时候会失败,后面换成wsdl重新生成的

第二步:通过wsdl文件自动生成客户端代码

通过wsimport命令生成客户端代码

 命令:wsimport -s ./ -p com.test.tempuri  .\view-XRHotel_WS__wsdl.wsdl 

-s:指的是生成java文件,如果不加上那么只会生成class文件

./:指的是生成到当前目录

com.test.tempuri:指的是生成的类文件引用的包名

.\view-XRHotel_WS__wsdl.wsdl:则是指定根据哪个wsdl文件生成客户端代码

注意:第三方提供的wsdl文件里的ip不一定全是公网ip或者域名,如果内容里有自己访问不到的内网ip在生成的时候就会提示连接失败,此时需要根据对应的提示将其替换掉。当然也有可能有其它异常,根据提示一一修改就好了,下载下来的wsdl文件不一定是直接可用的

第三步:调用

在生成的文件中一般会有一个xxxService的service类,以及一个xxxServiceSoap的类,而service中会有一个getxxxxServiceSoap的方法可以获取到xxxxServiceSoap,这些在调用时需要用到

public static void main(String[] args) throws Exception {// new出xxxService对象XXXService service = new XXXService();// 通过xxxService对象的getXXXXServiceSoap()方法获取XXXServiceSoapXXXServiceSoap soap = service.getXXXXServiceSoap();// XXXServiceSoap会有各种第三方开放的方法,调用传入对应参数String result = soap.house("2023-08-28");System.out.println("Result: " + result);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/112558.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于野狗算法优化的BP神经网络(预测应用) - 附代码

基于野狗算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于野狗算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.野狗优化BP神经网络2.1 BP神经网络参数设置2.2 野狗算法应用 4.测试结果:5.Matlab代码 摘要…

计算机毕设之Python的高校成绩分析(含文档+源码+部署)

本系统阐述的是一个高校成绩分析系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构。…

[Android]JNI的基础知识

目录 1.什么是JNI 2.配置JNI开发环境NDK 3.创建Native C类型的项目 4. 了解CMakeLists.txt 文件 5.了解native-lib.cpp 文件 6.在 Android 的 MainActivity 中调用 native-lib.cpp 中实现的本地方法 1.什么是JNI JNI(Java Native Interface)是一…

2023年8月22日OpenAI推出了革命性更新:ChatGPT-3.5 Turbo微调和API更新,为您的业务量身打造AI模型

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

记录--怎么实现一个3d翻书效果

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本篇主要讨论以下两种翻书动画的实现: 第一种是整页翻转的效果: 这种整页翻转的效果主要是做rotateY的动画,并结合一些CSS的3d属性实现。 第二种折线翻转的效果&…

【项目 计网7】4.20 多进程实现并发服务器 4.22 多线程实现并发服务器

文章目录 4.20 多进程实现并发服务器server_process.cclient.c4.22 多线程实现并发服务器客户端代码:服务端代码: 4.20 多进程实现并发服务器 要实现TCP通信服务器处理并发的任务,使用多线程或者多进程来解决。 思路: 1、一个父进…

企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC

文章目录 企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC1. 企业微信cgi-bin/gateway/agentinfo接口简介2.漏洞描述3.影响版本4.fofa查询语句5.漏洞复现6.POC&EXP7.整改意见8.往期回顾 企业微信cgi-bin/gateway/agentinfo接口存在未授权访问漏洞 附POC 免…

java ReentrantLock 锁 await、signal的用法

背景 在并发编程中,为了保证线程的原子执行,需要使用锁,jvm 内 可以使用 synchronized 和 ReentrantLock,如果是集群部署,我们可以使用Redis 分布式锁 其他的锁后面再介绍。 ReentrantLock 和 synchronized 1、Reent…

深入浅出AXI协议(3)——握手过程

一、前言 在之前的文章中我们快速地浏览了一下AXI4协议中的接口信号,对此我们建议先有一个简单的认知,接下来在使用到的时候我们还会对各种信号进行一个详细的讲解,在这篇文章中我们将讲述AXI协议的握手协议。 二、握手协议概述 在前面的文章…

nowcoder NC236题 最大差值

目录 题目描述: 示例1 示例2 题干解析: 暴力求解: 代码展示: 优化: 代码展示: 题目跳转https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204?tpId128&tqId33768&ru/exa…

云南森林火灾vr消防模拟安全演练系统训练消防员火灾和事故的适应和应对能力

据统计,每一场破坏性地震发生后,会引发次生的灾害,而火灾是其中之一。导致火灾的原因,推测是地震时使供电线路短路,引燃易燃物,火灾就随即发生。所以,在日常生活中,定期的消防演练还是非常必要的, VR消防,是VR公司深圳华锐视点利用VR虚拟现实技术,将VR和…

汽车摩托车零部件出口管理ERP解决方案

近年来,随着全球经济的发展,人们对交通工具的需求增加,国内汽车、摩托车市场的不断扩大,以及国内制造技术的不断提高,中国汽车、摩托车零部件出口业务迎来了广阔的发展前景,带动了汽车配件和摩托车配件市场…

java企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff…

postman-使用Postman的模拟服务来模拟(mock)后端数据,完成前端模拟API调用

最近项目上比较忙,任务多时间紧,导致后端开发任务繁多,无法及时开发完毕,但是前端同学已经把对应功能开发完成,需要进行前后端联调来验证API及一些交互问题;这不能因为后端的进度来影响前端的工作完成情况&…

uniapp返回上一页并刷新

在uniapp中,经常会有返回上一页的情况,官方提供有 uni.navigateBack 这个api来实现效果,但是此方法返回到上一页之后页面并不会更新(刷新)。 例如有这样一个场景:从地址列表页点击添加按钮进入添加地址页面…

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总

【大模型】基于 LlaMA2 的高 star 的 GitHub 开源项目汇总 Llama2 简介开源项目汇总NO1. FlagAlpha/Llama2-ChineseNO2. hiyouga/LLaMA-Efficient-TuningNO3. yangjianxin1/FireflyNO4. LinkSoul-AI/Chinese-Llama-2-7bNO5. wenge-research/YaYiNO6. michael-wzhu/Chinese-LlaM…

vue2 组件库之vetur提示

当我们开发完自定义UI组件库后,在项目中使用时,想要达到以下提示效果,组件提示与属性提示,有什么解决方案呢: 事实上,这是vetur的功能,原文如下: Component Data | Vetur If a pac…

器件手册识读之 :运放

器件手册识读之 :运放 一、基本信息 二、引脚排列 三、最大额定参数 四、电气特性 五、应用电路 1、称重传感器放大器 2、热电偶低偏置,低漂移环路测量二极管冷端补偿。

MySQL 保存日期用哪种数据类型

写在前面 在设计数据库表时不可避免的需要用到时间类型,到底选择那种数据类型来表示时间是一个值的讨论的问题,本文就一起来看下! 1:能用哪些数据类型 1:字符串:不要用,占用空间大,至少需要19个字节&…

Qt应用开发(基础篇)——字体选择器 QFontDialog

一、前言 QFontDialog类继承于QDialog,是一个设计用来选择字体的对话框部件。 对话框窗口QDialog QFontDialog字体选择对话框,设计用来让用户选择某一种字体,一般用于文本编辑窗口、标签显示和一些需要文本输入的场景。你可以直接使用静态函数…