WebService及其应用.ppt

上传人:sh****n 文档编号:12561780 上传时间:2020-05-11 格式:PPT 页数:22 大小:585.81KB
返回 下载 相关 举报
WebService及其应用.ppt_第1页
第1页 / 共22页
WebService及其应用.ppt_第2页
第2页 / 共22页
WebService及其应用.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
WebService及其应用,2,目标,了解WebService的基本概念撑握使用XFire开发WebService的基本步骤撑握XFire对象绑定撑握XFire与Spring的集成,3,WebService是一种可供跨平台调用的服务组件。WebService是完全基于XML、XMLSchema等独立于平台、独立于软件供应商的标准。WebService可用于创建可互操作的,分布式的应用程序平台。WebService主要由三个方面组成:服务程序,服务的描述文件,以及服务的注册登记。,WebService概述,4,WebService概述,soap,5,XFire是下一代Java的soap框架,支持面向服务(SOA)的应用开发。使用XFire开发WebService的基本步骤:建立Web工程,添加Xfire的库文件在web.xml中添加xfire的前端控制器XFireServlet建立业务类及业务类接口在services.xml文件中配置WebService启动Web服务器使用XFire客户端类库调用WebService,使用XFire开发WebService,6,XFire开发WebService,示例配置XFire前端控制器,XFireServletorg.codehaus.xfire.transport.http.XFireConfigurableServlet0XFireServlet/services/*,7,XFire开发WebService,示例建立用于查询列车时刻的服务程序及接口,publicclassTrainServiceImplimplementsTrainServicepublicStringfindTrainTime(Stringtrain_no)/.returnnull;,publicinterfaceTrainService/train_no车次publicabstractStringfindTrainTime(Stringtrain_no);,8,XFire开发WebService,示例在services.xml中配置WebService,TrainServiceservice.TrainServiceservice.TrainServiceImplwrappedliteralapplication,将services.xml添加到类路径下的/META-INF/xfire目录下,9,启动Web服务器后可通过访问Web应的/services/访问相应的WebService示例列出应用中所有的Web服务,获取WebService,请求:http:/localhost:8090/webprj/services,10,XFire客户端工具提供了多种形式调用WebService在拥有服务接口的情况下可通过建立XFireProxyFactory调用在未知服务接口的情况下可通过Client或通过WSDL文档生成接口的方式调用MyEclipse等工具提供了直接通过WSDL文档生成WebService服务端口的向导。,客户端调用WebService,11,根据已知服务接口及参数类型调用,客户端调用WebService,StringserviceURL=http:/localhost:8090/sprja/services/UserService;ServiceserviceModel=newObjectServiceFactory().create(srv.UserService.class,null,http:/srv/HelloService,null);XFireProxyFactoryserviceFactory=newXFireProxyFactory();UserServiceservice=(UserService)serviceFactory.create(serviceModel,serviceURL);Useruser=service.getUser(tony);System.out.println(user.getName();,12,xfire提供了XFireSpringServlet用于从Spring中导出Bean为WebService,示例web.xml配置,Spring整合WebService,xfire提供了两种方式可将Spring中注册的Bean导出为WebService使用org.codehaus.xfire.spring.remoting.XFireExporter可将单个Bean导出为WebServices利用JSR181注解导出WebServices,xfireServletorg.codehaus.xfire.spring.XFireSpringServletxfireServlet/service/*,13,示例配置将单个Bean导出为WebService,Spring整合WebService,14,通过JSR181的注解导出WebService的基本步聚在Spring中注册org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping在Bean或Bean的Web服务接口中使用JSR181的注解,标识WebService的特征在Spring中注册Bean,Spring整合WebService,15,注册Jsr181HandlerMapping,Spring整合WebService,16,使用JSR181注解标识服务接口,类以及在Spring中注册,Spring整合WebService,WebService(targetNamespace=)publicinterfaceOrderServicepublicabstractStringaddOrder(Orderorder);,WebService(serviceName=OrderService,endpointInterface=srv.OrderService)publicclassOrderServiceImplimplementsOrderServicepublicStringaddOrder(Orderorder).,17,在已知服务接口的情况下,Xfire提供XFireClientFactoryBean用于在Spring中产生单个WebService的代理对象,Spring整合WebService客户端,http:/localhost:8090/xfireweb/service/OrderService2?wsdl,18,WebService通过Internet被调用,安全显得非常重要。WebService的安全验证主要有两种方式:基于HTTP的验证方式WebService客户端通过Http的方式请求服务,服务器端可通过配置Http安全域或Filter的方式验证请求基于SOAP的验证方式WebService在将验证信息基于SOAP消息中,服务器端通过xfire的Handler获得验证信息,并验证,WebService验证,19,基于SOAP的验证示例:客户端在发送请求消息时,输出消息通过ClientAuthHandler通道,通道在输出消息的头信息中添加用户验证信息服务器端在接收WebService请求时,输入消息通过AuthHandler通道,通道通过输入消息的头信息获得用户的验证信息,并执行验证,验证失败时抛出异常。,WebService验证,20,ClientAuthHandler,WebService验证,publicclassClientAuthHandlerextendsAbstractHandlerpublicvoidinvoke(MessageContextctx)throwsException/为SOAPHeader构造验证信息org.jdom.Elementel=newElement(header);/设置头信息ctx.getOutMessage().setHeader(el);Elementauth=newElement(auth);Elementusername=newElement(username);username.addContent(jerry);Elementpwd=newElement(password);pwd.addContent(123);auth.addContent(username);auth.addContent(pwd);el.addContent(auth);,21,AuthHandler,WebService验证,publicclassAuthHandlerextendsAbstractHandlerpublicvoidinvoke(MessageContextctx)throwsException/如果没有头信息直接返回Elementheader=ctx.getInMessage().getHeader();if(header=null)thrownewXFireFault(请求中必需包含验证信息!,XFireFault.SENDER);/获得验证节点Elementauth=header.getChild(auth);if(auth=null)thrownewXFireFault(请求中必需包含验证信息!,XFireFault.SENDER);/获得帐号Stringusername=auth.getChildText(username);Stringpwd=auth.getChildText(password);/检查身份if(!jerry.equals(username),22,目标,WebService的概念使用XFire开发WebServiceSpring与Xfire的整合WebService的安全,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!