ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:33.53KB ,
资源ID:23951651      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23951651.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(webservice学习之二实体类的传递 收藏.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

webservice学习之二实体类的传递 收藏.docx

1、webservice学习之二实体类的传递 收藏webservice学习之二(实体类的传递) 收藏 SOAP、WSDL、UDDI,这些名词相信只要了解过 Web Service 的都不陌生,根据 Apache 的定义,Axis 是一种 W3C SOAP 实现,国内有些介绍还特别注明了:Axis 并不完全是 SOAP 引擎,它还包括独立的 SOAP 服务器、嵌入 Servlet 引擎的服务器、支持 WSDL 并提供转化 WSDL 为 Java 类的工具、例子程序、TCP/IP 数据包监视工具,等等。Axis 部署 Web Serive 有两种方式,最简单的是拷贝 java 源代码文件到 web 文

2、件夹下把扩展名改为 .jws 直接调用,可参考这篇文章:用Axis 1.1 for Java进行Web Services开发(1)。另一种方式是通过 WSDD(Web Services描述文档)部署,可参考:使用Axis发布简单的Web服务。在我的应用中,使用的是后者,以便 Axis 进行自动序列化/反序列化处理。 实现一次 SSO 登陆验证,最少要传入用户名、密码。为了达到这种目的,在客户端我们构造 User 对象(本文中 User 对象仅包含用户名和密码),并通过 Axis 自动序列化传递出去;到了 SSO 端,Axis 自动反序列化之后还原成 User 对象;最后返回给客户端说明本次登陆

3、的结果,返回的结果不仅仅包含例如“登陆成功”之类的简单信息,也许还有很多其他信息,看来创建一个叫做 Respond 的对象(本文中 Respond 对象仅包含登陆 ID 和结果描述)很有必要了,把 Respond 传回给客户端说明登陆结果。 暴露给客户端供登陆验证的服务类是 AuthService。该类代码简单表示如下:public class AuthService /* * 验证用户名和密码 * param String userName 用户名 * param String passWord 密码 * return Respond 登陆验证后返回 */ public Respond lo

4、gin(User user) String name = user.getName(); String password = user.password(); /进行数据库验证 /. / Respond respond = new Respond(); respond.setId(123); respond.setDesc(登陆成功); return respond; User 和 Respond 以及服务类都写好了。通过命令行方式,我生成了 server-config.wsdd,内容如下: http:/xml.apache.org/axis/wsdd/ 要说明的是,深究上述配置文件具体含义不

5、是本文的目的,要对其具体了解,请参考 Axis 文档。其中,只有下面的 XML 才是我们感兴趣的: 注:sso.Respond 为要注册的类,全路径和类名为了完成自动序列化/反序列化,我们使用“beanMapping”元素指定要进行处理的 bean 文件。只有在 WSDD 中定义了这些,才能享受到 Axis 带来的自动序列化/反序列化优势。 客户端代码:public class TestClient public static void main(String args) try String endpoint = http:/127.0.0.1:8080/services/AuthServi

6、ce?wsdl; Service service = new Service(); Call call = (Call) service.createCall(); QName qn = new QName(urn:BeanService,resp); QName qx = new QName(urn:BeanService,user); /注册 bean call.registerTypeMapping(Respond.class,qn,new BeanSerializerFactory(Respond.class, qn),new BeanDeserializerFactory(Respo

7、nd.class, qn); call.registerTypeMapping(User.class,qx,new BeanSerializerFactory(User.class, qx),new BeanDeserializerFactory(User.class, qx); call.setTargetEndpointAddress(new .URL(endpoint); call.setOperationName(new QName(http:/soapinterop.org/,login); User user = new User(); mul.setName(test); mul

8、.setPassword(test); Respond respond = (Reopond) call.invoke(new Object user); System.out.println(登陆,返回 + respond.getDesc() + 。); catch (Exception e) e.printStackTrace(); 正如我们期望的,打印出“登陆成功”。通过上面的范例,我们发现,Axis 的自动序列化/反序列化机制还是很方便的,除了 bean 以外,其他类型的对象也可以让 Axis 来完成,具体参考 Axis 文档,如果要传递的对象 Axis 未提供自动序列化/反序列化支持

9、,请考虑人工实现,参考:深度编程Axis序列化/反序列化器开发指南。webservice学习之二(实体类的传递) 收藏 SOAP、WSDL、UDDI,这些名词相信只要了解过 Web Service 的都不陌生,根据 Apache 的定义,Axis 是一种 W3C SOAP 实现,国内有些介绍还特别注明了:Axis 并不完全是 SOAP 引擎,它还包括独立的 SOAP 服务器、嵌入 Servlet 引擎的服务器、支持 WSDL 并提供转化 WSDL 为 Java 类的工具、例子程序、TCP/IP 数据包监视工具,等等。Axis 部署 Web Serive 有两种方式,最简单的是拷贝 java 源

10、代码文件到 web 文件夹下把扩展名改为 .jws 直接调用,可参考这篇文章:用Axis 1.1 for Java进行Web Services开发(1)。另一种方式是通过 WSDD(Web Services描述文档)部署,可参考:使用Axis发布简单的Web服务。在我的应用中,使用的是后者,以便 Axis 进行自动序列化/反序列化处理。 实现一次 SSO 登陆验证,最少要传入用户名、密码。为了达到这种目的,在客户端我们构造 User 对象(本文中 User 对象仅包含用户名和密码),并通过 Axis 自动序列化传递出去;到了 SSO 端,Axis 自动反序列化之后还原成 User 对象;最后返

11、回给客户端说明本次登陆的结果,返回的结果不仅仅包含例如“登陆成功”之类的简单信息,也许还有很多其他信息,看来创建一个叫做 Respond 的对象(本文中 Respond 对象仅包含登陆 ID 和结果描述)很有必要了,把 Respond 传回给客户端说明登陆结果。 暴露给客户端供登陆验证的服务类是 AuthService。该类代码简单表示如下:public class AuthService /* * 验证用户名和密码 * param String userName 用户名 * param String passWord 密码 * return Respond 登陆验证后返回 */ public Respond login(User user) String name = user.getName(); String password = user.password(); /进行数据库验证 /. / Respond respond = new Respond(); respond.setId(123); respond.setDesc(登陆成功); return respond; User 和 Respond 以及服务类都写好了。通过命令行方式,我生成了 server-config.wsdd,内容如下: http:/xml.apache.org/axis/wsdd/ paramet

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1