JAX-WS RI组件开发基于JAX-WS规范的WebService服务入门程序
一、服务端
创建一个普通的web项目:JaxWS_ri_calculator_server
先把服务端项目完成之后完整的结构示意图展示出来,方便你们做参考:
1、创建提供webservice服务的服务接口
创建一个Web项目,并创建一个提供WebService服务的服务接口
该接口提供的服务:加法运算和乘法运算
2、创建提供webservice服务的服务接口的实现类
创建提供WebService服务的服务接口实现类
3、将JAX-WS RI组件lib目录下的jar包导入工程
使用JAX-WS RI组件来发布webservice服务到服务器上
需要用到JAX-WS RI组件的相应jar包(我是用的是 jaxws-ri-2.3.2 )
为了缺包找不到类的情况出现,所以把所有jar包都导入。
找到lib目录
4、配置sun-jaxws.xml文件
关于该文件中的配置:从*JAX-WS RI组件*安装目录下的 *docs目录* 中找到sun-jaxws.xsd文件,将其中的部分配置复制出来即可。
先找到sun-jaxws.xsd文件:
再复制如下代码:
最后,手动在工程的/WEB-INF目录下创建sun-jaxws.xml配置文件并进行配置,如下:
5、配置web.xml
使用JAX-WS RI组件,需要配置一个监听器:WSServletContextListener
当客户端访问webservice服务的时候,该监听器就会监听到,并找到同样配置在web.xml中的WSServlet,交给它来找寻webservice服务。
6、部署到tomcat服务器并访问服务
将我们的项目添加到tomcat服务器中(跟其他项目一样的添加方式),并启动服务器。
打开浏览器,地址栏输入访问wsdl文件的路径:http://localhost:8080/JaxWS_ri_calculator_server/calculatorService?wsdl
- wsdl路径简介:
- localhost :使用tomcat服务器部署,只能在本地自己测试,所以是localhost,也可以是127.0.0.1
- 8080 : 端口号
- JaxWS_ri_calcalator_server :项目名
- calculatorService : 配置文件配置的提供webservice服务的服务接口实现类
- wsdl : 请求参数,表示访问该webservice服务的wsdl文件
出现如下页面,即表示部署成功:
二、客户端
创建一个普通的java项目:JaxWS_ri_calculator_client
先把客户端项目完成之后完整的结构示意图展示出来,方便你们参考:
1、获取服务端文件
你如果接触过最简单的webservice程序,你就会会知道,模拟一个客户端去调用服务端的服务,需要知道的参数有:
wsdl文件路径
提供webservice服务的服务接口源文件(.java)
服务接口实现类中@WebService注解上targetNamespace属性的值(wsdl文件中可以得知)
服务接口实现类中@WebService注解上serviceName属性的值(wsdl文件中可以得知)
因此,获取起来相对麻烦。而JDK1.6自带了wsimport.exe工具,就是专门为了方便客户端获取服务端文件以及调用webservice服务的。
该工具位于JDK安装目录的lib目录下。使用方法:
进入命令提示符界面
切换到JDK安装路径的lib目录下
输入wsimport, 回车,就可以看到该工具的参数,根据需要选择,通常是 -keep 表示保存文件 -s 保留源文件格式:wsimport -keep -s 保留源文件的路径 wsdl文件路径
命令提示符界面如下:
由图可知,我设置了将生成的.java源文件放在D:/haha/jax_ws_ri目录中,查看之后文件如下:
2、将生成的文件加入我们的工程
在工程中,按照生成的包路径创建包(为了防止包路径提示错误),然后将生成的文件加入到工程中,如下:
3、创建调用服务的客户端程序
创建一个client.java来模拟客户端,然后调用webservice服务
4、结果显示
JAX-WS RI组件开发基于JAX-WS规范的WebService服务入门程序相关推荐
- Windows8开发指南(16)开发基于Windows8的第一个metro界面C++程序
微软公布了Windows8开发人员预览版, http://msdn.microsoft.com/en-us/windows/home?ocid=ban-f-cn-dca-Sep-Win8Build 大 ...
- springboot开发基于阿里云的短信服务、邮件推送服务
短信服务以及邮件推送服务使用的都是阿里云的产品,短信服务是收费的,所以需要选择短信服务的套餐并预充值才能使用.邮件推送服务是有200条的免费额度. 一:短信服务 1.申请短信签名.短信模板 到阿里云的 ...
- 基于jws发布webservice服务
基于jws发布webservice服务 用途 用于验证基于jws搭建的webservice服务端与客户端. WebService服务端 1.目录结构 D:. │ pom.xml # maven配置 │ ...
- 转载 WebService 的CXF框架 WS方式Spring开发
WebService 的CXF框架 WS方式Spring开发 1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0.0 ...
- 基于Vue.js的后台管理系统组件开发
什么是Vue Vue.js 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合. ...
- c# 无法加载oraops.dll_Robotstudio软件二次开发:基于C#语言的Smart组件开发基础
Robotstudio软件除了支持Add-Ins插件的二次开发以外,还支持Smart组件的二次开发.开发语言同样是基于.NET框架的C#语言或VB语言.Smart组件是Robotstudio软件中实现 ...
- Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(环境搭建)
Vue是一套用于构建用户界面的渐进式框架,与其它大型 JS 框架不同,Vue 被设计为可以自底向上逐层应用,更易上手,还便于与第三方库或既有项目整合,因此,Vue完全能够为复杂的单页应用提供驱动. 2 ...
- vue结合饿了么_饿了么基于Vue2.0的通用组件开发之路(分享会记录)
Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网 ...
- 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...
最新文章
- mui 打开openWindow新页面不读取缓存的设置/mui中h5清除缓存页面的办法
- 唯有自己变得强大_物竞天择,适者生存,唯有强大自己,方能百毒不侵
- 犹太人从未透露的12个秘密(图)
- 增大表名最大长度_风电叶片材料的发展变迁史,及风力发电机叶片长度发展历程...
- 机器学习实战(二)决策树DT(Decision Tree、ID3算法)
- 第 1 章 Readme
- 新时代、新挑战、新机遇
- linux 挂在windows共享文件夹
- Python--网络编程-----基于UDP协议的套接字不会发生粘包
- pandasSeries模块
- JXSL报错CannotOpenWorkbookException和Cannot load XLS transformer解决方案
- android多开器工作原理,[原创]app隐藏大师绕过密码与多开分析
- 在Ubuntu18.04上安装视频播放器smplayer
- 项目经理必看逻辑思维书单
- vue2.0 使用xlsx读取excel文件数据 操作流程 以及文件中特殊日期数据的处理
- 向左转移测试需要整个团队的努力
- js遍历对象(js遍历对象的所有属性)
- 浏览淘宝网页背后所发生的事情
- ZFS-128bit文件系统
- 数据库之逻辑设计阶段(候选码、主码、外码、范式…)
热门文章
- linux如何授权HADOOP,hadoop用户权限管理
- String数组拆分
- 51单片机下载完程序后不亮_为什么要学习单片机?如何开始上手学习单片机?...
- 为什么注销计算机用户登录,为什么我的电脑开不了机?一点用户登陆就显示正在注销了....
- 彩光价格一般是多少_彩光祛斑价格一般是多少呢?
- “春节回家带点啥?”一个愁人的选择题
- 云南昆明主城区一在建工地围墙倒塌致2人死亡
- 如何使用hbuilder快速生成一个直接打开网站的app
- 修改Centos7/RHEL7的主机名
- 神思二代身份证读卡器Demo的C++版本