您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > spring教程_4WebServiceXFire与spring的集成
ACCPV4.0WebService及其应用ACCPV4.02目标了解WebService的基本概念撑握使用XFire开发WebService的基本步骤撑握XFire对象绑定撑握XFire与Spring的集成ACCPV4.03WebService是一种可供跨平台调用的服务组件。WebService是完全基于XML、XMLSchema等独立于平台、独立于软件供应商的标准。WebService可用于创建可互操作的,分布式的应用程序平台。WebService主要由三个方面组成:服务程序,服务的描述文件,以及服务的注册登记。WebService概述ACCPV4.04WebService概述ServiceProviderServiceRequestorServiceRegistryFind(UDDI)Bind(WSDL)Publish(UDDI)soapACCPV4.05XFire是下一代Java的soap框架,支持面向服务(SOA)的应用开发。使用XFire开发WebService的基本步骤:建立Web工程,添加Xfire的库文件在web.xml中添加xfire的前端控制器XFireServlet建立业务类及业务类接口在services.xml文件中配置WebService启动Web服务器使用XFire客户端类库调用WebService使用XFire开发WebServiceACCPV4.06XFire开发WebService示例配置XFire前端控制器servletservlet-nameXFireServlet/servlet-nameservlet-classorg.codehaus.xfire.transport.http.XFireConfigurableServlet/servlet-classload-on-startup0/load-on-startup/servletservlet-mappingservlet-nameXFireServlet/servlet-nameurl-pattern/services/*/url-pattern/servlet-mappingACCPV4.07XFire开发WebService示例建立用于查询列车时刻的服务程序及接口publicclassTrainServiceImplimplementsTrainService{publicStringfindTrainTime(Stringtrain_no){//...returnnull;}}publicinterfaceTrainService{//train_no车次publicabstractStringfindTrainTime(Stringtrain_no);}ACCPV4.08XFire开发WebService示例在services.xml中配置WebService?xmlversion=1.0encoding=UTF-8?beansxmlns=将services.xml添加到类路径下的/META-INF/xfire目录下ACCPV4.09启动Web服务器后可通过访问Web应的/services/访问相应的WebService示例列出应用中所有的Web服务获取WebService请求:XFire客户端工具提供了多种形式调用WebService在拥有服务接口的情况下可通过建立XFireProxyFactory调用在未知服务接口的情况下可通过Client或通过WSDL文档生成接口的方式调用MyEclipse等工具提供了直接通过WSDL文档生成WebService服务端口的向导。客户端调用WebServiceACCPV4.011根据已知服务接口及参数类型调用客户端调用WebServiceStringserviceURL==newObjectServiceFactory().create(srv.UserService.class,null,);XFireProxyFactoryserviceFactory=newXFireProxyFactory();UserServiceservice=(UserService)serviceFactory.create(serviceModel,serviceURL);Useruser=service.getUser(tony);System.out.println(user.getName());ACCPV4.012xfire提供了XFireSpringServlet用于从Spring中导出Bean为WebService,示例web.xml配置Spring整合WebServicexfire提供了两种方式可将Spring中注册的Bean导出为WebService使用org.codehaus.xfire.spring.remoting.XFireExporter可将单个Bean导出为WebServices利用JSR181注解导出WebServicesservletservlet-namexfireServlet/servlet-nameservlet-classorg.codehaus.xfire.spring.XFireSpringServlet/servlet-class/servletservlet-mappingservlet-namexfireServlet/servlet-nameurl-pattern/service/*/url-pattern/servlet-mappingACCPV4.013示例配置将单个Bean导出为WebServiceSpring整合WebServiceimportresource=classpath:org/codehaus/xfire/spring/xfire.xml/beanid=orderServiceclass=srv.OrderServiceImpl/beanbeanid=orderServiceFactoryclass=org.codehaus.xfire.spring.remoting.XFireExporterpropertyname=serviceFactoryref=xfire.serviceFactory/propertypropertyname=xfireref=xfire/propertypropertyname=serviceBeanref=orderService/propertypropertyname=serviceClassvalue=srv.OrderService/propertypropertyname=namevalue=OrderServiceUI/propertypropertyname=namespacevalue=通过JSR181的注解导出WebService的基本步聚在Spring中注册org.codehaus.xfire.spring.remoting.Jsr181HandlerMapping在Bean或Bean的Web服务接口中使用JSR181的注解,标识WebService的特征在Spring中注册BeanSpring整合WebServiceACCPV4.015注册Jsr181HandlerMappingSpring整合WebServiceimportresource=classpath:org/codehaus/xfire/spring/xfire.xml/beanid=webServiceAnnotationsclass=org.codehaus.xfire.annotations.jsr181.Jsr181WebAnnotations/beanbeanid=jsr181HandlerMappingclass=org.codehaus.xfire.spring.remoting.Jsr181HandlerMappingpropertyname=xfireref=xfire/propertypropertyname=webAnnotationsref=webServiceAnnotations/property!--指定验证的handler--propertyname=inHandlerslistbeanclass=test.AuthHandler/bean/list/property/beanACCPV4.016使用JSR181注解标识服务接口,类以及在Spring中注册Spring整合WebService@WebService(targetNamespace=)publicinterfaceOrderService{publicabstractStringaddOrder(Orderorder);}@WebService(serviceName=OrderService,endpointInterface=srv.OrderService)publicclassOrderServiceImplimplementsOrderService{publicStringaddOrder(Orderorder){...}}beanid=orderServiceclass=srv.OrderServiceImpl/beanACCPV4.017在已知服务接口的情况下,Xfire提供XFireClientFactoryBean用于在Spring中产生单个WebService的代理对象Spring整合WebService客户端beanid=orderServiceclass=org.codehaus.xfire.spring.remoting.XFireClientFactoryBeanpropertyname=serviceClassvalue=srv.OrderService/propertypropertyname=wsdlDocumentUrlvalue=outHandlerslistbeanclass=test.ClientAuthHandler/bean/list/property/beanACCPV4.018WebService通过Internet被调用,安全显得非常重要。WebService的安全验
本文标题:spring教程_4WebServiceXFire与spring的集成
链接地址:https://www.777doc.com/doc-2850112 .html