04_天气查询_JAX-WS方式_服务端
【简述】
WebService的Java实现共有三种方式:JAX-WS(JAX-RPC)、JAXM&SAAJ、JAX-RS。
JAX-WS:
JAX-WS 的全称为 Java API for XML-Based Webservices ,早期的基于SOAP 的JAVA 的Web 服务规范JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS 规范取代。从java5开始支持JAX-WS2.0版本,Jdk1.6.0_13以后的版本支持2.1版本,jdk1.7支持2.2版本。
【服务端工程截图】

【1.WeatherInterface.java】
编写SEI (Service Endopint Interface),SEI在WebService中称为 PortType,在Java中称为接口。

【2.WetherInterfaceImpl.java】SEI实现类

【3.WeatherServer.java】
发布WebService服务

【运行服务的结果与分析】
1.运行WeatherServer.java的main方法之后,没有提示信息,只有变红的那个提示运行的标志。

2.在浏览器中输入对应的WebService的发布地址http://127.0.0.1:12345/weather
如下所示

3.验证WebService服务是否发布成功
在WebService的地址后面加“?wsdl”,查询WebService的使用说明书是否完整,如果wsdl内容完整,表示webService发布成功。
记下来进入"http://127.0.0.1:12345/weather?wsdl",如下,wsdl是XML格式的文档,我们要从下往上读:
首先,我们要找到<service>,看到了我们的接口首先Service服务名WeatherInterfaceImplService,

接着根据服务名找到对应的<binding>,可以看到其类型是WeatherInterfaceImpl

最终通过binding找到portType

portType有方法,调用WebService就是调用portType的方法。
最终找到portType,其中含有方法,说明WSDL文档基本完整。(当然也必须存在调用服务类<service>及方法)
【WSDL小结】
<service> 服务视图,WebService的服务节点,它包括了服务端点
<binding> 为每个服务端点定义消息格式和协议细节
<portType> 服务端点,描述WebService可以被执行的操作方法,以及相关消息,通过binding指向portType
<message> 定义一个操作(方法)的数据参数(可以有多个参数)
<types> 定义WebService使用的全部数据类型
04_天气查询_JAX-WS方式_服务端的更多相关文章
- 安装_oracle11G_客户端_服务端_链接_oracle
在开始之前呢,有一些注细节需要注意,oracle11G_客户端_和_服务端, 分为两种 一种是 开发者使用 一种是 BDA 自己使用(同时也需要根据自己 PC 的系统来做_win7_与 ...
- node.js中ws模块创建服务端和客户端,网页WebSocket客户端
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require( ...
- 使用rest方式修改服务端xml文件
想法: 最近想用REST的方式去修改一个远端的xml文件,于是自己写了个Handler 设计: 用现成的XPath,和GET,POST,PUT,DELETE这4个http方法作为动作,达到直接读写xm ...
- Nuxt.js 提供了两种发布部署应用的方式:服务端渲染应用部署 和 静态应用部署
官方网址:https://zh.nuxtjs.org/guide/commands/#%E5%8F%91%E5%B8%83%E9%83%A8%E7%BD%B2
- [并发并行]_[线程模型]_[Pthread线程使用模型之三 客户端/服务端模型(Client/Server]
Pthread线程使用模型之三 客户端/服务端模型(Client/Server) 场景 1.在客户端/服务端模型时,客户端向服务端请求一些数据集的操作. 服务端执行执行操作独立的(多进程或跨网络)– ...
- TYPESDK手游聚合SDK服务端设计思路与架构之三:流程优化之订单保存与通知
经过前两篇文字的分析与设计,我们已经可以搭建出一个能够支持多游戏多渠道的聚合SDK服务端,但这只是理想化状态下的一个简化模型.如果接入渠道的逻辑都是按照理想化的简化过程来构建,那么对于支付的请求,我们 ...
- .Net Mvc3框架调用服务端控件解决方案
/*BY:Wangyexin date:2011年4月30日 20:17:38*/ /*说明:.net mvc3框架,View层调用服务端控件,输出到.cshtml文件中显示*/ 1.先说说.ne ...
- rsync的服务端和客户端搭建
首先要看看有没有rsync,没有就按装一个rsync 1配置文件 然后创建rsyncd.conf文件,并添加如下内容(文件默认不存在) [root@chensiqi2 backup]# cat /et ...
- android菜鸟学习笔记24----与服务器端交互(一)使用HttpURLConnection和HttpClient请求服务端数据
主要是基于HTTP协议与服务端进行交互. 涉及到的类和接口有:URL.HttpURLConnection.HttpClient等 URL: 使用一个String类型的url构造一个URL对象,如: U ...
随机推荐
- 改变SQL默认数据库的存储路径
数据库默认路径保存在注册表里,我们可以通过xp_instance_regwrite来修改注册表,具体可以试试下面的方法: --1.更改資料文件默認存放路經:EXEC xp_instance_regwr ...
- Codeforces335B - Palindrome(区间DP)
题目大意 给定一个长度不超过5*10^4的只包含小写字母的字符串,要求你求它的回文子序列,如果存在长度为100的回文子序列,那么只要输出长度为一百的回文子序列即可,否则输出它的最长回文子序列 题解 这 ...
- 如何获取、下载、安装fortran编译工具ifort
今天接触到ifort,不知如何下载安装.遂GOOGLE之,很多文章给出连接并表示说在网页上下载即可.可往往事与愿违,新的问题是:链接已经失效:获取ifort的办法又不同了: 于是,我探索到新的获取安装 ...
- Linux的五个查找命令:find,locate,whereis,which,type
使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令 ...
- Oracle数据库启动流程
1.oracle也可以通过命令的方式启动, (1)oracle启动流程-windows下 1) lsnrctl start (启动监听) 2)oradim -startup -sid 数据库实例名 2 ...
- C#下的 Emgu CV
Emgu CV下载地址 http://sourceforge.net/projects/emgucv/files/ 找最新的下就行了,傻瓜式安装,选择目录后自动完成安装,然后提示安装VS2008和VS ...
- 【面试虐菜】—— Oracle知识整理《收获,不止Oracle》
普通堆表不足之处: 表更新有日志开销 表删除有瑕疵 表记录太大检索较慢 索引回表读开销很大 有序插入难有序读出 DELETE产生的undo最多,redo也最 ...
- [Javascript] Implement zip function
1. Use a for loop to traverse the videos and bookmarks array at the same time. For each video and bo ...
- [Whole Web, Node.js, PM2] Restarting your node.js app on code change using pm2
Aadd watch to the config.json file: { "apps": [{ "name": "App1", " ...
- 原创C# 枚举 多状态 操作
C# 中枚举类型是一种值类型,目前(vs2012)还不能用于泛型. 此类型最多的用处是标识一组相同类型的状态量或常量,比如: 状态量 示例一 [Flags] public enum Connectio ...