java天气预报webservice_webservice之实现天气预报

前通过传智的视频自学了webservice的基本使用,也了解到webservice就是一种跨编程语言和跨操作系统平台的远程调用技术。

对于这些理论知识在这里也不再做过多的解释,本次主要就是记录与分享使用cxf 框架完成远程调用气象局提供的接口,来实现天气查询的全过程。

1、项目搭建

* 创建一个maven项目(方便引入包的依赖,不需要再去手动的添加包)

cae8e52e7e25d49713e36993ca8ba687.png

* 配置pom.xml 中的依赖

org.apache.maven.plugins

maven-compiler-plugin

3.5.1

1.8

1.8

utf-8

org.apache.cxf

cxf-rt-transports-http

3.2.6

junit

junit

4.10

------------------------------------   分隔线  -----------------------------------------------

* 引入依赖后需要更新一个maven项目(因为修改了jdk版本,需要更新后才会生效),操作如下:

在maven项目上单击右键  --> maven --> Update Project... (选择需要更新的maven项目即可)

2、下载wsdl文件

* 如果使用java的话需要将该文件下载下来,因为如果直接在控制台使用wsimport会抛出异常(已经过多次测试)

* 操作步骤:

* 将地址复制到浏览器中打开,会出现如下这个页面

4ad9b4bafd747831574c61683219feb1.png

* 同样的在页面中单击右键,另存为,然后保存到桌面即可

f9bd64e0dfbf543608eccbb5a971b788.png

*  保存到桌面以后,我们需要将这个xml文件引入到我们的项目中来(直接复制进来就可以了)

*注意:这一点非常重要,我们需要对文件中的内容进行修改,否则将无法解析

首先打开xml文件,然后搜索      如果存在,那么就直接把他out掉

9111b54e05863580eba44703d7e8f1b7.png

* 做完后,关闭xml配置文件,找到你需要将将代码解压到的目录(简单说,就是例如我现在要将代码解析到我的src/main/java),单击右键选择 properties,复制location地址

3b9df4994d23051b10a8f1fd51fca675.png

* 然后到控制台中进入到我们复制的地址

402051f370414b5a8719877dc6384a63.png

* 确定后,结果如下:

39ce45dd201e817288b20d109f291970.png

* 解析完成后,再回到我们的项目中来,刷新项目就可以看到生成的代码

e7c51610190125f7301dc69e6070def4.png

3、 测试

* 创建一个测试类,编写如下代码

67d7046cc515dd6cc914e52f64ac4f41.png

* 运行测试

d8aa0adab473c7b78b748dd46d2d67e9.png

----------------------------------------------------------   分隔线   -------------------------------------------------------

整个简单的案例到这里也就结束了,第一次写博客,写得不好,还望见谅,后续我也将持续的更新自己在学习中的一些案例。

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

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

相关文章

CSS下拉菜单

例子: 鼠标移动到按钮上打开下拉菜单。(在这里我将下拉菜单的内容的链接设置为百度首页) 下拉菜单 菜单内容 1 菜单内容 2 菜单内容 3HTML 部分: 制作下拉菜单可以使用任何的 HTML元素来打开下拉菜单,如:&l…

maven跳过单元测试-maven.test.skip和skipTests的区别

第一种 -Dmaven.test.skiptrue&#xff0c;不执行测试用例&#xff0c;也不编译测试用例类。 一 使用maven.test.skip&#xff0c;不但跳过单元测试的运行&#xff0c;也跳过测试代码的编译。 mvn package -Dmaven.test.skiptrue<plugin> <groupId>org.apache.m…

linux下java命令行参数_Java调用Linux命令行

Java调用Linux命令行Java语言以其跨平台性和简易性而著称&#xff0c;在Java里面的lang包里(java.lang.Runtime)提供了一个允许Java程序与该程序所运行的环境交互的接口&#xff0c;这就是Runtime类&#xff0c;在Runtime类里提供了获取当前运行环境的接口。那么java怎么调用Li…

BZOJ 4810 莫队+bitset

思路&#xff1a; 看完这道题根本没有思路啊.... 然后我就膜拜了一波题解... 这神tm乱搞思路 维护两个bitset 第一个bitset代表当前区间哪些数出现过 第二个bitset是 maxp-p出现过 差为x的时候 就用第一个bitset与一下它右移x就好了 和为x的时候 就第一个bitset与一下第二个bi…

java -p_javap命令详解 - JackieYeah的个人空间 - OSCHINA - 中文开源技术交流社区

一、用法javap [ 选项 ] classes二、描述javap命令反汇编一个或多个类文件。它的输出由使用的选项决定。如果没有使用选项&#xff0c;javap命令将打印输出传递给它的类的包&#xff0c; protected和public属性和方法。javap打印输出到标准输出。选项命令行选项。classes一个或…

初识RPC概念

什么是RPC RPC 全称 Remote Procedure Call——远程过程调用。在学校学编程&#xff0c;我们写一个函数都是在本地调用就行了。但是在互联网公司&#xff0c;服务都是部署在不同服务器上的分布式系统&#xff0c;如何调用呢&#xff1f; RPC技术简单说就是为了解决远程调用服务…

JAVA编码(41)—— 线程池队列执行任务(ThreadPoolQueue)(1)

废话少说&#xff0c;上代码 package com.sinosoft;import java.util.concurrent.*;/*** Created by xushuyi on 2017/4/9.*/ public class ThreadPoolQueue {/*** 定义线程池中最大的线程数量*/private static final Integer THREADPOOLSIZE 100;/*** 创建线程队列*/private …

Dubbo介绍

1:什是Dubbo 2&#xff1a;架构图 3:节点角色说明 4&#xff1a;调用关系说明

一键去除网页BOM属性【解决乱码,头部空白,#65279问题】

几个常出现的问题&#xff1a; 1.网站打开空白 2.页面头部出现多余的空白 3.网站出现乱码&#xff0c;如“锘&#xfffd;” 解决方法可以是&#xff1a; 1.选用专业的编辑器&#xff0c;例如notepad&#xff0c;sublime&#xff0c;editplus这样不会自动签名。 2.sublime通过如…

java 关闭语句_java.sql.SQLRecoverableException: 关闭的语句

数据库连接池配置&#xff1a;数据库链接在运行时报错&#xff1a;Caused by: java.sql.SQLRecoverableException: 关闭的语句at oracle.jdbc.driver.OracleClosedStatement.exitImplicitCacheToActive(OracleClosedStatement.java:4667)at oracle.jdbc.driver.OraclePreparedS…

编程英语学习【转】

一种绝对提高开发水平的方法 目录 一、概要二、常用单词 2.1、初级单词第一节第二节第三节第四节第五节第六节第七节第九节第十节第十一节第十三节第十四节第十五节第十六节第十七节2.2、高级部分三、《Java语言程序设计》书中单词频率排行四、常见异常与错误翻译 4.1、java中4…

下载的java游戏怎么运行不了_java运行环境下载

java运行环境下载对这款游戏感兴趣的玩家可以来我们网站下载试玩。"No," said Elsie, sharply. "Ill quote you a text: Eat, drink, and be merry, and let me alone.""Its not your sex that I am clasping, but you&#xfffd;&#xfffd;YOU, m…

Mac idea使用Command + p 快捷键查看一个类的构造函数需要传入什么参数

Mac idea使用Command p 快捷键查看一个类的构造函数需要传入什么参数 如下图所示

TortoiseGit不同分支合并代码

现在有主分支master和分支day2.现在要把day2上的变更合并到主分支master上&#xff01; 1.首先切换到目标分支master上。 说明当前分支是master分支。 2.在master分支上查看提交记录,即show log一下。 3.切换到源分支上 4.选中你所有的提交&#xff0c;右键&#xff0c;Cherry …

java jdk 类加载机制_JDK源码阅读之类加载

java类加载类的生命周期(类加载过程)LLIUUVPR加载(Loading)链接(Linking)验证(Verification)准备(Preparation)解析(Resolution)初始化(Initialization)使用(Using)卸载(Unloading) 类类加载器种类BootstrapClassLoader&#xff1a;C编写&#xff0c;负责加载java核心类库Launc…

2017.4.11 AM

练恋有词U28单元单词及应用 转载于:https://www.cnblogs.com/bgd140201219/p/6696472.html

JAVA标识符中含小数点可以吗_数值类型小数点后是否可以接零问题

有些情况下&#xff0c;我们需要数据的精准性&#xff0c;小数部分或多或少要保留几位。而恰巧为整数时&#xff0c;我们需要将整数也加上小数点然后接0的形式来表示。js中&#xff0c;我们常使用 input 框绑定数值变量的形式来提供展示或修改数据&#xff0c;那么大家一定会遇…

volatile不具备原子性

1、理解原子性&#xff1a; 上面说到volatile不具备原子性&#xff0c;那么原子性到底是什么呢&#xff1f;先看如下代码 public class TestVolatile {public static void main(String[] args) {AtomicDemo atomicDemo new AtomicDemo();for (int x 0; x < 10; x) {new Th…