全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
整合xfire与struts2项目的需要,要把xfire整合到struts2中。sturts2怎么建立相信大家都知道,就节省时间直接从xifre谈起一如何发布xfire Service,整合到struts2 的web项目中1从cvs上面取得JMAM32(原有的struts2项目 )。2把Xfire 的jar包,全部拷贝到WebRoot/WEB-INF/lib 下面,我用的是xfire-distribution-1.2.6.zip。3新建接口,名称为IJMAMCatalogMgrService,指定包名称为com.jetsen.jmam32.services4在同一个包下面:新建类,名称为JMAMCatalogMgrService,让它实现接口IJMAMCatalogMgrService 。5.WebRoot/META-INF下,新建文件夹xfire ,xfire下面新建xml文件 services.xml,内容如下:?xml version=1.0 encoding=UTF-8?003EJMAMCatalogMgrServicecom.jetsen.jmam32.services.JMAMCatalogMgrServicecom.jetsen.jmam32.services.IJMAMCatalogMgrService6.WebRoot/WEB-INF/web.xml 中根节点下增加如下代码:XFireServletorg.codehaus.xfire.transport.http.XFireConfigurableServlet0XFireServlet/services/*7.修改路径,把整个META-INF文件夹拖动到WEB-INF下。可以发布到tomcat,发布之后,浏览器上查看wsdl ,看是否成功http:/localhost:8080/JMAM32/services/MAMCatalogMgrService?wsdl二关于xfire service 支持自定义对象的串行化:如果你用jdk1.5以上版本和xfire1.2以上版本,不需要这一步,因为它会自动序列化。但是如果你的程序是在jdk1.4的基础上运行的,就需要手工搞定了,解决这个问题的核心是一个名称为*.aegis.xml的映射文件。例如:Xfire webService 返回一个自定义的wsResult对象。1.WsResult类定义如下:package com.jetsen.jmam32.services;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;public class wsResult private int errorCode;private String errorString;private String resultVal;public wsResult()this.errorCode = 0;this.errorString = ;this.resultVal = ; public int getErrorCode() return errorCode;public void setErrorCode(int errorCode) this.errorCode = errorCode;public String getErrorString() return errorString;public void setErrorString(String errorString) this.errorString = errorString;public String getResultVal() return resultVal;public void setResultVal(String resultVal) this.resultVal = resultVal;注意:这个自定义类必须与service类和接口在同一个包下(稍后会解释原因),本例中,必须放到包com.jetsen.jmam32.services下;其次,该类成员必须是严格的类属性,使用getter,setter的语法读取或设置。(起初我想懒省事,直接把三个属性设成了public成员,结果不能串行化.)。为了实现返回类型是wsResult,service的接口IJMAMCatalogMgrService代码如下:package com.jetsen.jmam32.services;publicinterface IJMAMCatalogMgrService public wsResult sayHello(String name);Service实现类JMAMCatalogMgrService代码如下:package com.jetsen.jmam32.services;publicclass JMAMCatalogMgrService implements IJMAMCatalogMgrService public wsResult sayHello(String name) wsResult ws = new wsResult(); String retStr = Hello + name; ws.setResultVal(retStr); return ws; 2.在包com.jetsen.jmam32.services下新建映射文件:IJMAMCatalogMgrService.aegis.xml,注意名称一定要是接口的名字(IJMAMCatalogMgrService)+ aegis.xml该文件代码如下: 注意method名称(sayHello)和返回类型的名称(com.jetsen.jmam32.services.wsResult)。3.重启tomcat,然后打开http:/localhost:8080/JMAM32/services/MAMCatalogMgrService?wsdl你可以看到wsdl文件了,可以看到wsdl文件中的wsResult被串行化了: 这里就要解释一下前面为什么要把wsResult类放在com.jetsen.jmam32.services包中了。如果不放在一个包中,wsResult串行化内容会被放在另一个名称空间(namespace)中,而不会同方法名放在一起。当然这是没问题的,问题出在IE 7上,IE 7的xmlhttprequest对象将会不识别返回的responseXml,直接报错! Firefox没有问题。我甚至试过IE 6的XMLHTTP 的activex控件也有这个问题。大功告成!这样客户端就不会不认识web service返回的对象类型了。不过顺便说一句,这方面还是.net比较方便,会自动串行化你自定义的对象。三. 关于使用xfire 客户端调用其他service 我用的Myclipse 6.0,集成了方便生成xfire client的功能,方便地生成代理类:具体为:new othersWeb Services 下面的Web Service Client。然后按提示一步一步生成即可。然后就是调用代理类的代码:MAMCatalogServiceClient service = new MAMCatalogServiceClient();MAMCatalogServiceSoap goIpclinet = service.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二级建造师考试试题一及答案详解一套
- 人力资源规划测试题及答案
- 国开电大《人力资源管理》形考任务四答案
- 中级会计实务-金融资产(六)-2模拟题
- 2025年安全培训试题及答案【各地真题】
- 低压电工证考试题库低压电工科目一二三四
- 2025年上海普外科主治医师专业实践能力试题
- 2025年度司法考试卷四第二题解析
- 2025年一级建造师考试试题(名校卷)附答案详解
- 圆与扇形测试题及答案
- 2025年采购专员考试试题及答案
- 国防军犬教学课件
- 问题解决策略:逐步确定 课件 北师大版数学八年级上册
- 汇款业务知识培训内容课件
- 新媒体文案写作教程(第二版)课件 项目四 微信公众号文案写作 课件
- 高速公路边坡治理总体施工组织设计(2025年9月19号)
- 2025年海外游戏市场洞察报告-Sensor Tower
- 单位票据管理办法
- 【2025年】浙江省湖州市【辅警协警】笔试真题含答案
- 2025新公安基础知识考试试题及参考答案
- 教师用餐补助管理办法
评论
0/150
提交评论