1 2 |
创建一个普通的web项目:JaxWS_ri_calculator_server 先把服务端项目完成之后完整的结构示意图展示出来,方便你们做参考: |
1、创建提供webservice服务的服务接口
1 2 |
创建一个Web项目,并创建一个提供WebService服务的服务接口 该接口提供的服务:加法运算和乘法运算 |
2、创建提供webservice服务的服务接口的实现类
1 |
创建提供WebService服务的服务接口实现类 |
3、将JAX-WS RI组件lib目录下的jar包导入工程
1 2 3 |
使用JAX-WS RI组件来发布webservice服务到服务器上 需要用到JAX-WS RI组件的相应jar包(我是用的是 jaxws-ri-2.3.2 ) 为了缺包找不到类的情况出现,所以把所有jar包都导入。 |
找到lib目录
4、配置sun-jaxws.xml文件
1 |
关于该文件中的配置:从*JAX-WS RI组件*安装目录下的 *docs目录* 中找到sun-jaxws.xsd文件,将其中的部分配置复制出来即可。 |
先找到sun-jaxws.xsd文件:
再复制如下代码:
最后,手动在工程的/WEB-INF目录下创建sun-jaxws.xml配置文件并进行配置,如下:
5、配置web.xml
1 2 |
使用JAX-WS RI组件,需要配置一个监听器:WSServletContextListener 当客户端访问webservice服务的时候,该监听器就会监听到,并找到同样配置在web.xml中的WSServlet,交给它来找寻webservice服务。 |
6、部署到tomcat服务器并访问服务
1 2 |
将我们的项目添加到tomcat服务器中(跟其他项目一样的添加方式),并启动服务器。 打开浏览器,地址栏输入访问wsdl文件的路径:http://localhost:8080/JaxWS_ri_calculator_server/calculatorService?wsdl |
出现如下页面,即表示部署成功:
1 2 |
创建一个普通的java项目:JaxWS_ri_calculator_client 先把客户端项目完成之后完整的结构示意图展示出来,方便你们参考: |
1、获取服务端文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
你如果接触过最简单的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、将生成的文件加入我们的工程
1 |
在工程中,按照生成的包路径创建包(为了防止包路径提示错误),然后将生成的文件加入到工程中,如下: |
3、创建调用服务的客户端程序
1 |
创建一个client.java来模拟客户端,然后调用webservice服务 |
4、结果显示
from:https://blog.csdn.net/weixin_43978412/article/details/99596714/