已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WebService与框架整合,第三十一章,回顾,JSR181开发JSR181简介JSR181开发JDK1.4与JDK1.5的下复杂数据的处理JDK1.4的数据绑定aegis.xml文件的配置JDK1.5处理复杂数据,本章目标,WebService认证处理HTTP身份认证SOAPHeader认证Spring调用webservice,WebService的认证处理,WebSerice是一种开放的web服务,任何人都可以访问,但我们有时候需要考虑只有付费用户才能使用WS,所以,我们就需要对WS加入安全验证机制。当然,可以利用防火墙的IP过滤,web应用的配置从最外层去隔离非法用户。但在内层,我们也可以使用SOAPHeader的方式,由客户端发送验证数据,服务端验通过后基WS访问权限。,WebService的认证处理,作为WebService服务商,希望为自己的服务加锁.认证方式:HTTP身份认证:在web服务器中指定可访问IP,或在防火墙中设置IP访问策略,也可以在web服务器中配置验证程序进行身份认证.SOAPHeader中进行身份验证(JSR181方式):采用JSR181标注的方式进行身份验证.,SOAPHeader认证处理(1),首先,编写服务端验证类,继承AbstractHandlerpublicclassAuthenticationHandlerextendsAbstractHandler.publicvoidinvoke(MessageContextcfx)throwsException.if(cfx.getInMessage().getHeader()=null)throwneworg.codehaus.xfire.fault.XFireFault(请求必须包含验证信息,org.codehaus.xfire.fault.XFireFault.SENDER);Elementtoken=cfx.getInMessage().getHeader().getChild(AuthenticationToken);if(token=null)throwneworg.codehaus.xfire.fault.XFireFault(请求必须包含身份验证信息,org.codehaus.xfire.fault.XFireFault.SENDER);Stringusername=token.getChild(Username).getValue();Stringpassword=token.getChild(Password).getValue();try/进行身份验证,只有abcd1234的用户为授权用户if(username.equals(abcd),SOAPHeader认证处理(2),接着,客户端调用是也需要一个授权信息,在客户端编写类继承AbstractHandlerpublicclassClientAuthenticationHandlerextendsAbstractHandler.privateStringusername=null;privateStringpassword=null;publicClientAuthenticationHandler().publicClientAuthenticationHandler(Stringusername,Stringpassword).this.username=username;this.password=password;publicvoidsetUsername(Stringusername).this.username=username;publicvoidsetPassword(Stringpassword).this.password=password;publicvoidinvoke(MessageContextcontext)throwsException./为SOAPHeader构造验证信息Elementel=newElement(header);context.getOutMessage().setHeader(el);Elementauth=newElement(AuthenticationToken);Elementusername_el=newElement(Username);username_el.addContent(username);Elementpassword_el=newElement(Password);password_el.addContent(password);auth.addContent(username_el);auth.addContent(password_el);el.addContent(auth);,SOAPHeader认证处理(3),然后就是客户端的调用了,其代码如下import.URL;publicclassHelloWorkClientpublicstaticvoidmain(Stringargs)throwsExceptionStringwsdlUrl=:8080/testWS/services/helloWord?wsdl;org.codehaus.xfire.client.Clientclient=neworg.codehaus.xfire.client.Client(newURL(wsdlUrl);client.addOutHandler(newClientAuthenticationHandler(abcd,1234);Objectobj=client.invoke(example,newObject调用成功);System.out.println(obj0);,SOAPHeader认证处理(4),client.addOutHandler表示客户端调用服务端的验证码,你如果没有这行则无法调用,另外就是service.xml的配置文件必须要配置soapHeader,代码如下:helloWordws.HelloWordws.impl.HelloWordImplwrappedliteralapplication,SOAPHeader认证处理(5),applicationContext.xmlcom.softfz.IHelloWebservicehttp:/localhost:8081/HelloWebservice/services/HelloWebservice?wsdl,Spring中配置webservice,applicationContext.xmlcom.softfz.IHelloWebservicehttp:/localhost:8081/HelloWebservice/services/HelloWebservice?wsdl,客户端调用,publicstaticvoidmain(Stringargs)ApplicationContextcontext=newClassPathXmlApplicationContext(applicationContext.xml);IHelloWebservi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5G全息投影在高等教育中的应用分析
- 500kV变压器保护过激磁告警不能自动复归原因分析
- 350例矮身材女童染色体核型分析
- 220kV母差及失灵保护技改过程中若干问题的分析
- 2021年福建省中考英语主旨类和推理类阅读题考查特点研究及教学建议
- 2019年北京高考物理24题引发的思考
- 1982-2014年汀江流域长汀段水沙演变规律分析
- 110kV输电线路电磁辐射环境影响分析
- 10kV线路缺相运行影响问题探讨
- 抗肿瘤药物治疗的护理形象
- 抖音项目拍摄计划书
- 宗教寺院消防安全培训课件
- GB 14866-2023眼面防护具通用技术规范
- 学生营养不良及预防措施研究报告
- 儿童发展心理学:费尔德曼带你开启孩子的成长之旅
- 分析建筑施工行业技术创新发展中的知识产权保护问题及其解决策略
- 吐酸中医护理查房
- 护理查房高血脂课件
- 广州白云山制药股份有限公司成本管理研究
- 谈小学随班就读儿童的心理关怀
- 悔过书写给检察院范文范本
评论
0/150
提交评论