JAX-WS RI组件开发基于JAX-WS规范的WebService服务入门程序
作者:互联网
一、服务端
先把服务端项目完整的结构示意图展示出来:
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文件
出现如下页面,即表示部署成功:
二、客户端
先把客户端项目完整的结构示意图展示出来:
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、结果显示
标签:文件,服务,WebService,JAX,WS,wsdl,webservice 来源: https://blog.csdn.net/weixin_43978412/article/details/99596714