




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三方调用U9服务(Java平台)一、 Java环境搭建a) Jdk版本jdk-5_5_0_10b) apache-cxf-2.2.4c) 开发工具Eclipsed) 配置环境变量添加新变量ClASSPATH: 值为“.;C:Program FilesJavajdk1.5.0_10libTools.jar;C:Program FilesJavajdk1.5.0_10jrelibrt.jar”添加新变量Java_HOME :值为“C:Program FilesJavajdk1.5.0_10”Path变量后追加:“C:Program FilesJavajdk1.5.0_10bin”说明:C:Program FilesJavajdk1.5.0_10是jdk的安装目录e) UFIDA U9服务器二、 引用U9服务以创建收货单服务为例, UFIDA.U9.ISV.RCV.ICreateRCVSRV.svca) 验证服务是否可用如果能显示显示下面的图片说明服务可用b) 生成代理类利用apache-cxf-2.2.4针对wsdl导出java客户端文件D:apache-cxf-2.2.4bin wsdl2java -d d:JavaService -verbose http:/localhost/portal/services/UFIDA.U9.ISV.RCV.ICreateRCVSRV.svc?wsdl注明:-d -verbose查看生成的文件:c) 构架项目1. 创建Java测试工程2. Copy cxf 生成客户端Java文件到工程目录3. 新建类TestMain.java4. 添加外部引用库Jar在项目上右键点属性5. 修改服务地址Uri三、 项目实现细节a) 调用服务框架代码 类似DotNet平台调用代码,主要是语法不同/开始调用ERP服务,“创建服务”org.tempuri.CreateRCVSRVStub createRcvsvclient = new org.tempuri.CreateRCVSRVStub();org.ufida.UFIDAU9ISVRCVICreateRCVSRV createsv = createRcvsvclient.getBasicHttpBindingUFIDAU9ISVRCVICreateRCVSRV();/给头、明细赋值org.ufida.entitydata.ArrayOfUFIDAU9ISVRCVDTOOBAReceivementDTOData rCVList = createRCVList();/doResult就是返回结果。Holder doResult = new Holder() ;Holder outMessages = new Holder(); try/将入库单内容传入ERP(入和返的值,均作为此方法的参数)。/context验证信息,rCVList入的值,doResult方法返回值, createsv._do(context, rCVList, doResult, outMessages);System.out.println(Invoke end .);catch(Exception ex) /省略部分代码b) 上下文信息 /创建当前上下文(相当于验证信息,这部分需灵活配置)String IDForCompany = 002;/当前企业编号Long IDForOrganization = new Long(1001007128961046);/当前组织IDLong IDForUsers = new Long(1001007176447429);/当前用户IDString UserCode = demo;/当前用户编码/创建上下文环境Object context = createContext(IDForCompany,IDForOrganization,IDForUsers,UserCode); /创建上下文环境private static Object createContext(String entid,long orgid,long userid,String usercode) org.datacontract.schemas._2004._07.ufsoft_ubf_util.ObjectFactory contextfactory = new org.datacontract.schemas._2004._07.ufsoft_ubf_util.ObjectFactory();org.datacontract.schemas._2004._07.ufsoft_ubf_util.ThreadContext tc = contextfactory.createThreadContext();com.microsoft.schemas._2003._10.serialization.arrays.ObjectFactory arrayFactory = new com.microsoft.schemas._2003._10.serialization.arrays.ObjectFactory();ArrayOfKeyValueOfanyTypeanyType contextarray = arrayFactory.createArrayOfKeyValueOfanyTypeanyType();KeyValueOfanyTypeanyType kv1 = new KeyValueOfanyTypeanyType();kv1.setKey(EnterpriseID);kv1.setValue(entid);/填具体的企业编号contextarray.getKeyValueOfanyTypeanyType().add(kv1);KeyValueOfanyTypeanyType kv2 = new KeyValueOfanyTypeanyType();kv2.setKey(OrgID);kv2.setValue(orgid);/填具体的组织IDcontextarray.getKeyValueOfanyTypeanyType().add(kv2);KeyValueOfanyTypeanyType kv3 = new KeyValueOfanyTypeanyType();kv3.setKey(UserID);kv3.setValue(userid);/填具体的用户IDcontextarray.getKeyValueOfanyTypeanyType().add(kv3);KeyValueOfanyTypeanyType kv4 = new KeyValueOfanyTypeanyType();kv4.setKey(UserCode);kv4.setValue(usercode);/填具体的用户编码contextarray.getKeyValueOfanyTypeanyType().add(kv4);KeyValueOfanyTypeanyType kv5 = new KeyValueOfanyTypeanyType();kv5.setKey(CultureName);kv5.setValue(zh-CN);/当前语种contextarray.getKeyValueOfanyTypeanyType().add(kv5);tc.setNameValueHas(contextarray);return tc ;c) 传入参数private static org.ufida.entitydata.ArrayOfUFIDAU9ISVRCVDTOOBAReceivementDTOData createRCVList()org.ufida.entitydata.ObjectFactory dataFactory = new org.ufida.entitydata.ObjectFactory();/创建DTO集合,也就是参数要求的对象。org.ufida.entitydata.ArrayOfUFIDAU9ISVRCVDTOOBAReceivementDTOData rcvDToArray = dataFactory.createArrayOfUFIDAU9ISVRCVDTOOBAReceivementDTOData();/DTO集合中的每个对象,都需要这样创建出来。UFIDAU9ISVRCVDTOOBAReceivementDTOData headerData = dataFactory.createUFIDAU9ISVRCVDTOOBAReceivementDTOData();/ 表头赋值headerData.setSysState(ObjectState.INSERTED);/“新建”标记符XMLGregorianCalendar timeValue = new XMLGregorianCalendarImpl();timeValue.setYear(2010); timeValue.setMonth(4); timeValue.setDay(2); timeValue.setHour(10);timeValue.setMinute(35);timeValue.setSecond(30);headerData.setMBusinessDate(timeValue); /日期/单据类型 UFIDAU9PMDTOsBESimp4UIDTOData docType = dataFactory.createUFIDAU9PMDTOsBESimp4UIDTOData();docType.setMCode(dataFactory.createUFIDAU9PMDTOsBESimp4UIDTODataMCode(RCV01);docType.setSysState(ObjectState.INSERTED);headerData.setMRcvDocType( dataFactory.createUFIDAU9ISVRCVDTOOBAReceivementDTODataMRcvDocType(docType);。/省略部分代码/对明细进行赋值UFIDAU9ISVRCVDTOOBARcvLineDTOData detailsData = dataFactory.createUFIDAU9ISVRCVDTOOBARcvLineDTOData();detailsData.setSysState(ObjectState.INSERTED);detailsData.setMDocLineNo(10);/行号/料品UFIDAU9CBOSCMItemItemInfoData ItemInfoData = dataFactory.createUFIDAU9CBOSCMItemItemInfoData();ItemInfoData.setMItemCode(dataFactory.createUFIDAU9CBOSCMItemItemInfoDataMItemCode(1-01-0);ItemInfoData.setSysState(ObjectState.INSERTED);detailsData.setMItemInfo(dataFactory.createUFIDAU9ISVRCVDTOOBARcvLineDTODataMItemInfo(ItemInfoData);/料品/最终价BigDecimal finallyPrice = new BigDecimal(3200);detailsData.setMFinallyPriceTC(finallyPrice);。/省略部分代码/将明细的值放入头中ArrayOfUFIDAU9ISVRCVDTOOBARcvLineDTOData m_m_detail = dataFactory.createArrayOfUFIDAU9ISVRCVDTOOBARcvLineDTOData();m_m_detail.getUFIDAU9ISVRCVDTOOBARcvLineDTOData().add(detailsData);headerData.setMRcvLines(dataFactory.createUFIDAU9ISVRCVDTOOBAReceivementDTODataMRcvLines(m_m_detail);/注意:任何参数的类型只要不是最简单类型,都应该通过Factory来创建。/一般这个类型在哪个包中,Facotry也会在同样的包中有一个ObjectFacotry的类型rcvDToArray.getUFIDAU9ISVRCVDTOOBAReceivementDTOData().add(headerData);return rcvDToArray;d) 捕获异常/捕获服务中的异常。catch(org.ufida.UFIDAU9ISVRCVICreateRCVSRVDoServiceExceptionFaultFaultMessage ex)/下面的代码可以将服务端的异常信息给显示输出来。ServiceException ed = ex.getFaultInfo(); for (int i=0 ;ied.getAny().size()-1;i+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026申能集团校园招聘考试参考题库及答案解析
- 2025重庆市璧山中医院非在编人员招聘1人考试参考题库及答案解析
- 合同管理实务操作流程及文书样板
- 地下管线保护设计与施工方案
- 2025安徽阜阳市市直机关公开遴选公务员27人考试参考题库及答案解析
- 2025年医保知识考试题库及答案:医保欺诈防范法律法规与政策执行试题
- 2025中通快运郑州分拨中心招聘考试参考题库及答案解析
- 2025中国纺织出版社有限公司招聘(北京)考试参考题库及答案解析
- 2025天津宁河投资控股集团有限公司招聘劳务派遣制考试参考题库及答案解析
- 2025年绍兴市口腔医院第二次公开招聘编外工作人员1人考试参考题库及答案解析
- 十八项核心制度培训培训课件
- 幼儿园警察职业介绍课件
- GB/T 37642-2019聚己内酯(PCL)
- 国防科技大学介绍
- 校音乐厅设计方案
- 新视野大学英语读写教程Unit1教案(含和译文)
- 机电一体化设计
- 新教材教科版五年级上册科学 第二单元 地球表面的变化 单元全套课时练
- (中职中专)财经法规与会计职业道德课件完整版电子教案
- DB37T 5151-2019 园林绿化工程资料管理规程
- 贝多芬F大调浪漫曲—小提琴谱(带钢伴谱)
评论
0/150
提交评论