MiXFire服务部署手册.docx

上传人:rrsccc 文档编号:9358231 上传时间:2021-02-21 格式:DOCX 页数:8 大小:21.65KB
返回 下载 相关 举报
MiXFire服务部署手册.docx_第1页
第1页 / 共8页
MiXFire服务部署手册.docx_第2页
第2页 / 共8页
MiXFire服务部署手册.docx_第3页
第3页 / 共8页
MiXFire服务部署手册.docx_第4页
第4页 / 共8页
MiXFire服务部署手册.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《MiXFire服务部署手册.docx》由会员分享,可在线阅读,更多相关《MiXFire服务部署手册.docx(8页珍藏版)》请在三一文库上搜索。

1、MiXFire服务部署手册一、预备工作:工程名目结构工程的名目结构如下图所示:ldaxfire 是工程的根名目。/WEB-INF/classes/META-INF/xfire到的) copy 到 /WEB-INF/lib名目下。名目用于存放service.xml文件。将下的包(用XFireServletXFire Servletorg.codehaus.xfire.transport.http.XFireConfigurableServletXFireServlet/services/*如此在工程中公布的所有服务都能够在工程URL的 services子名目下访咨询。三、类结构调整XFire 关

2、于要公布的服务没有余外的要求, 它能够自动的将指定服务类的公共方法公布出去。 然而 POJOs的调用要求传入的参数类型必须是接口;同时由于 XFire 生成的桩使用了不支持的 JSR181注释类型,因此在那个地点最好是遵从 POJOs的要求,为每一个要公布的服务类生成一个接口,以便于低版本的客户端使用 POJOs方式进行访咨询。四、类型影射XFire 支持的数据类型包括基础类型、数组、集合、字符串、Date(java.util.Date、java.util.Calendar、java.sql.Timestamp、java.sql.Date、java.sql.Time)、XML 类型( Docu

3、ment、 Element、 XMLStreamReader、Source)及以上类型组成的复合类型。基础类型、数组、 String、Date 类型不用进行类型影射,除此之外的数据类型如 List 、Map 等集合对象或是其它的复合类型,必须要写对应的类型影射。XFire 的类型影射在ServiceClassName.aegis.xml(ServiceClassName为服务类 /接口的名字)文件中声明。在那个地点尽量要求公布服务的参数和返回值不要超出基础类型、数组、 String 的泛围,因此类型影射在此不作详细讲明。在 XFire 工程中 service.xml 必须位于 /WEB-INF

4、/classes/META-INF/xfire/名目下。其差不多格式如下document|rpc|message|wrappedliteral|encodedrequest|session|applicationtrue|false1、name:必须的。 ServiceRegisty确实是通过那个名字进行服务注册的,服务部署完成后也是用它来调用服务。3、serviceClass:必须的。要部署到服务中的类,能够是接口。4、implementationClass:可选的。服务被调用时使用的实现类。如果serviceClass的值是一个接口,那么那个值就必须配置,且必须为serviceClass

5、指定接口的实现类。5、serviceFactory:可选的。 ServiceFactory控降服务创建和配置。6、bindingProvider:设置 bindingProvider,提供绑定有关的信息。如端口等。7、style:可选的。参数样式。默认值为wrapped。可取值为 wrapped、message、document 及 rpc。8、use:可选的。指定编码类型。取值能够是encoding 或 litaral,目前的 XFire 支持 literal 格式,即无编码。9、scope:可选的。指定服务的生存周期。默认值为application,即在因此访咨询期间只创建一个服务,不用时

6、能够会被持久化。能够是application、session或 request。invoker:可选的。设置调用转接器。如果当服务实现类不是一个无格式 java bean 时 invoker 能够指定其调用方式。excutor:可选值。能够为服务指定一个默认值以外的执行策略。handlers:能够使用 inHandlers、outHandlers 或 faulterHandlers 为服务指定输入、输出和出错时的调用的处理。每个handler 自身是一个 XML 解析的处理句柄。createDefaultBinding:可选。默认为true,即创建默认的SOAP1.1 HTTP 绑定。如果不想

7、创建默认的绑定,可将其值设为false。绑定配置:每一个绑定都要指定的一个transport ID。下面是对应的 Transport与 ID 的对应表。使用endpoint 选项能够覆盖掉默认的端口地址。JMSurn:xfire:transport:jmsLocalurn:xfire:transport:localServiceName com.yourcompany.yourpath.ServiceInterfacecom.yourcompany.yourpath.ServiceImplClass用自己实际的路径和类名取代上面的配置确实是一个典型的XFire service 配置。六、客户端

8、调用客户端调用采纳POJOs方式。在这种方式下要用到在服务端定义的服务接口。具体代码如下:Service serviceModel = new ObjectServiceFactory().create(XFireProxyFactory serviceFactory = new XFireProxyFactory();ServiceInterface service = (ServiceInterface) serviceFactory.create(serviceModel, serviceURL);Client client = Client.getInstance(service);c

9、lient.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, 0);data = service.serviceMethod();注:其中的 ServiceInterface 在实际工程中要以实际的接口类型替代,serviceMethod 以具体的方法名替代。在 XFire1.2 以后支持 SOAP 消息的 GZip 压缩传输,在合适的地点启动GZip 压缩能够减少网络传输的数据量,加快速度。在 XFire 中启动 GZip 压缩要用到一个开源的 Filter :PJL CompressingFilter。那个 Filter 的最新版本是 1

10、.6.4,自 1.5.0 开始该工程开始构建于 JDK 5.0,因此在 JDK1.4 环境下只能使用 1.4.6(那个版本会与高版本同步更新) 。一、服务端启动 GZip:在服务端启动 GZip 只需将 PJL Compressing F ilter 下的 jar 包(用到的)导入到 web 的/WEB-INF/lib 名目下。并在 web.xml 文件中增加如下配置:CompressingFilterdebugfalsestatsEnabledtrueCompressingFilter/*代码清单 7-1:服务端加入 GZip 时 web.xml 中增加的配置注:按照 web.xml 文法定

11、义,那个定义必须位于 servlet 定义之前。二、客户端启用 GZip:客户端启动 GZip 只要将客户端的 GZip 的属性设为 true 却可。代码如下:Service serviceModel = new ObjectServiceFactory().create(XFireProxyFactory serviceFactory = new XFireProxyFactory();ServiceInterface service = (ServiceInterface) serviceFactory.create(serviceModel, serviceURL);Client cli

12、ent = (XFireProxy) Proxy.getInvocationHandler(service).getClient();启动 response压缩client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED, Boolean.TRUE);client.setProperty(CommonsHttpMessageSender.GZIP_RESPONSE_ENABLED,Boolean.TRUE);同时启动response和 request 压缩client.setProperty(CommonsHttpMessageSender.GZIP_ENABLED,Boolean.TRUE);client.setProperty(CommonsHttpMessageSender.HTTP_TIMEOUT, 0);data = service.serviceMethod();注:在同时启用时,不必再分不启用response和 request的 GZip 压缩。注意,当服务端没有启用GZip ,客户端启用要求GZip 压缩时,会产生 SOAP 解析错误, 如果服务端启动了 GZip 压缩功能, 客户端是否启用 G Zip 都没有阻碍。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1