JAX-WS - 基础示例
来源:互联网 发布:键盘windows键解锁 编辑:程序博客网 时间:2024/06/05 18:02
一、简介
WebService是一种跨平台、跨语言的规范。解决远程、跨平台、跨语言应用之间的调用。
JAX-WS(Java API for XML-Web Services)规范是一组XML web services的JAVA API。
二、服务端
1、接口
package com.xilen.ws;import javax.jws.WebParam;import javax.jws.WebResult;import javax.jws.WebService;/** * Web服务的接口:SEI(Service EndPoint Interface) * 接口需要添加注解@WebService */@WebServicepublic interface UserInfoService {/** * 接口方法,提供的具体服务 * 通过注解可以指定消息元素的名称为自定义,取代默认的如arg0等 */@WebResult(name="checkReturn")public String check(@WebParam(name="userName")String userName, @WebParam(name="userPass")String userPass);}2、实现
package com.xilen.ws;import javax.jws.WebService;/** * Web服务的实现:SIB(Service Implementation Bean) * 实现需要注解@WebService,并指定实现的接口 */@WebService(endpointInterface="com.xilen.ws.UserInfoService", serviceName="UserInfoServiceImplService")public class UserInfoServiceImpl implements UserInfoService{@Overridepublic String check(String userName, String userPass) {return "Check [ userName:" + userName + "; userPass:" + userPass + " ]";}}3、发布
package com.xilen.ws;import javax.xml.ws.Endpoint;public class WsStart {public static void main(String[] args) {String address = "http://127.0.0.1:8888/userinfo";/** *通过Endpoint的静态方法publish()实现发布 *传入服务的地址和服务的实现对象 */Endpoint.publish(address, new UserInfoServiceImpl());}}4、查看
当浏览器访问发布地址得到如下图时成功发布
三、客户端
1、准备
通过wsimport生成WS调用的相关文件,如下:
D:\>wsimport -d D:\JavaWorks\WebServices\JAX-WS_Init_Client\src -keep -verbose http://127.0.0.1:8888/userinfo?wsdl2、调用
package com.xilen;import com.xilen.ws.UserInfoService;import com.xilen.ws.UserInfoServiceImplService;public class WsClient {public static void main(String[] args) {/** * 在生成的Java类中,继承javax.xml.ws.Service的类可视为一个工厂 * 这个类是的名称即服务端WS实现中注解的serviceName,同时也是wsdl文档definitions中的name */UserInfoServiceImplService uisis = new UserInfoServiceImplService();//通过这个工厂的实例获取服务接口的代理UserInfoService uis = uisis.getUserInfoServiceImplPort();//通过这个接口实现远程调用System.out.println(uis.check("admin", "12345"));}}3、结果
Check [ userName:admin; userPass:12345 ]
四、补充
wsimport参数:
-d dirName : 指定生成的文件的目录
-p pkgName : 指定自定义的包名,不指定则默认服务端的包名
-keep : 指定是否生成.java的源文件
-verbose : 指定是否显示生成过程的信息
wsdlUrl : 指定wsdl文档的url
五、下载
http://download.csdn.net/detail/u013379717/7254335
0 0
- JAX-WS - 基础示例
- JAX-WS开发webservice示例详解
- JAX-WS开发Webservice(中文示例)
- JAX-WS开发webservice示例详解
- JAX-WS 开发流程以及示例
- JAX-WS服务的简单示例
- jax-ws 编写简单的webservice示例
- JAX-WS
- JAX-WS
- JAX-WS
- JAX-WS
- JAX-WS
- JAX-WS
- JAX-WS
- JAX-RPC & JAX-WS
- WS (CXF) JAX-WS
- MyEclipse6.5上基于JAX-WS开发Webservice(中文示例)
- myeclipse6.5上基于JAX-WS开发Webservice(中文示例)
- Windows Server 2003 R2 新加2T硬盘不能识别的或者识别的容量远远小于2T的解决方法
- 使用CocoaPods出现 The `master` repo requires CocoaPods 0.32.1 - 问题解决
- smarty的最简单示例
- Hibername的Criteria查询方式
- 多级指针
- JAX-WS - 基础示例
- 多线程编程实例:不带缓冲的多线程文件复制
- mysql 命令mysqldump使用注意
- WCF学习-构建WCF服务(3)
- Fckeditor使用方法
- 一个判别表达式中开、闭括号是否配对出现的算法
- 微信公众帐号开发教程第6篇-文本消息的内容长度限制揭秘
- Ubuntu下自动加载U盘
- ubuntukylin安装nvidia的双显卡切换驱动--大黄蜂Bumblebee