《基于WebServices外部数据交换接口使用指南全解.doc》由会员分享,可在线阅读,更多相关《基于WebServices外部数据交换接口使用指南全解.doc(58页珍藏版)》请在三一办公上搜索。
1、金蝶K/3 基于WebServices外部数据交换接口使用指南目录概述4总体说明4通过该说明文档,你可以了解到4该文档阅读的适用对象4外部数据交换服务的安装4WebServices测试工具介绍5外部数据交换服务功能列表5公共服务 (Public.asmx)7AisQuery服务7GetAisType服务7DeleteItemQuery服务8DeleteItemUpdate服务9币别 (Currency.asmx)10Query服务10Update服务10计量单位 (MeasureUnit.asmx)12Query服务12Update服务12辅助资料 (AssistDetail.asmx)14Q
2、uery服务14Update服务14科目 (Account.asmx)16Query服务16Update服务16凭证字 (VoucherGroup.asmx)18Query服务18Update服务18客户 (Customer.asmx)20Query服务20Update服务20部门 (Department.asmx)22Query服务22Update服务22职员 (Employee.asmx)24Query服务24Update服务24物料或商品 (Material.asmx)26Query服务26Update服务26仓库 (Stock.asmx)28Query服务28Update服务28供应商
3、 (Supplier.asmx)30Query服务30Update服务30分支机构 (SubCompany.asmx)32Query服务32Update服务32费用(Fee.asmx)34Query服务34Update服务34工作中心 (WorkCenter.asmx)36Query服务36Update服务36工业订单与订单执行情况(InduSaleOrder.asmx)38QuerySaleOrder服务38UpdateSaleOrder服务38QueryOrderTrace服务39库存(InduStockData.asmx)40QueryWithBatch服务40QueryWithOutB
4、atch服务40销售发票 (InduSaleInvoice.asmx)42QuerySaleInvoice服务42凭证(财务) (Voucher.asmx)43Query服务43Update服务43收款单 (ReceiveBill.asmx)45QueryReceiveBill服务45应收计划 (ArApPlan.asmx)46QueryArApPlan服务46合同(Contract.asmx)47QueryContract服务47调用方式48通过现有工具(组件)进行访问48Http方式49对象说明50应用示例51静态数据交换(基础资料)51动态数据交换(业务数据)55相关资料57金蝶数据交换
5、标准57W3C Web Service57SOAP57WebService配置57过滤条件的语法和格式57错误处理机制58安全机制58概述总体说明我们的客户越来越成熟,在客户内部中的信息化程度也越来越高,所以使用的业务系统也越来越错综复杂,不同的系统可能跨越不同的系统平台,而客户又希望在内部的不同应用系统中可以沟通协作(术语:EAI应用)。我们金蝶的产品线也包括了ERP、CRM、OA等不同产品,而这几种产品的系统架构和设计以及应用可用的平台都有很大的差异,而要在这几个系统之间达到无缝的集成和整合。关键还在于不同的应用系统之间的数据交换(工作流也构架在数据交换的基础上)。而我们设计的外部数据交换
6、服务就是一套比较完整和合适的解决方案。可以在构建在不同的系统平台的应用系统之间实现同步、实时和增量的数据交换(静态数据和动态数据)。注意:本篇所介绍的外部数据交换服务都是金蝶目前已经提供的服务。注意:本篇所介绍的外部数据交换服务可向下兼容至K/3V9.2版本。通过该说明文档,你可以了解到1. 外部数据交换服务的目的、原理以及安装。2. 如何通过程序访问外部数据交换服务。3. 使用外部数据交换服务的技巧和要点。4. 使用外部数据交换服务的应用示例。5. 外部数据交换服务的理论背景和相关的知识。6. 目前我们都提供了哪些外部数据交换服务。该文档阅读的适用对象需要在K/3系统上进行二次开发与K/3系
7、统进行数据交换的行业开发者需要跟K/3系统进行数据交换的第三方系统的开发人员扩展外部数据交换服务的K/3开发人员对Web Service感兴趣的开发人员外部数据交换服务的安装在K/3系统安装程序主界面,选择“外部数据交换服务部件”。安装注意:注意:该服务必须安装K/3系统的中间层。WebServices测试工具介绍安装完成后,在开始菜单-金蝶 K3 WISE创新管理平台-金蝶K/3工具下,打开“客户端工具包”,选择“Adapter适配器”下的“k/3 WebServices”,打开后即可启动K/3 Web Services测试工具,可通过选择“服务类型”和“调用的方法”,在请求文件路径中修改测
8、试的参数,点执行时会开展WebService的测试并获取测试结果,如下图。外部数据交换服务功能列表目前K/3提供的外部数据交换服务主要有以下一些:1. 公共类:账套查询服务、查询账套类型服务等;2. 基础数据类:币别、计量单位、科目、辅助资料、客户、部门、职员、物料(商品)、供应商、分支机构、工作中心、费用、凭证字交换服务;3. 业务数据类:订单交换服务、库存查询服务、合同交换服务、收款单查询服务(预收单)、应收计划查询服务、凭证交换服务、科目余额查询服务等。以上各种服务的具体使用请参考以下详细说明。公共服务 (Public.asmx)AisQuery服务服务说明: 返回账套信息接口定义:pu
9、blic AisInfo AisQuery参数说明:返回信息:AisQueryResult:表示账套信息的节点组,类型:数组out string strError:返回出错信息,类型:stringGetAisType服务服务说明: 接口定义:public string GetAisType(int iAisID,string strUser,string strPassword,out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:
10、用户密码,目前通过明文传递,类型:string返回信息:GetAisTypeResult:表示账套类型的字符串,类型:stringout string strError:返回出错信息,类型:string返回指定账套的账套类型表示如下:类型名称账套类型返回值1工业企业全面解决方案AcctType_Industrygy2商业企业全面解决方案AcctType_Commercesm3工业企业物流解决方案AcctType_GYWLgywl4商业企业物流解决方案AcctType_SYWLsywl5标准企业财务解决方案AcctType_QYKJqykj6集团企业财务解决方案AcctType_GRCWgrcw
11、7行政事业财务解决方案AcctType_ZFKJzfkj8会计中心解决方案AcctType_TGZTtgzt9人力资源解决方案AcctType_RLZYrlzyDeleteItemQuery服务服务说明: 返回已经删除了的基础资料数据的关键字信息接口定义: public Delete DeleteItemQuery(int iAisID, string strUser, string strPassword, ItemObject IO, int iPerCount, ref string strTimeStamp, out string strMaxTimeStamp, out string
12、 strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:int strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string IO:查询的基础资料对象类别,其值如下:Public Enum ItemObject lAccount = 1 /科目,已实现 lAssist = 2 /辅助资料,已实现 lCurrency = 3 /币别,已实现 lMeasureUnit = 4 /计量单位,已实现 lCustomer = 5 /客户,已实现 lDepartment = 6 /部门,已实现 l
13、Employee = 7 /职员,已实现 lMaterial = 8 /物料(商品),已实现 lStock = 9 /仓库,已实现 lRemark = 10 /备注,预留 lSupplier = 11 /供应商,已实现 lSonCompany = 12 /分支机构,已实现 lWorkCenter = 13 /工作中心,已实现 lcbCostObj = 14 /成本对象,预留 lcbCostItem = 15 /成本项目,预留 lcbExpense = 16 /要素费用,预留 lcbService = 17 /劳务,预留 lFee = 18 /费用,已实现 lVoucherGroup = 19
14、/凭证字,已实现 lAuxProp = 20 /商品的辅助属性,预留 lCashFlowItem = 21 /现金流量项目,预留 lSettle = 22 /结算方式,预留End Enum iPerCount:指明返回记录条数,类型:inteager strTimeStamp:传入起始时间辍值,默认为“0x0000000000000000”,返回当前页的最大时间辍值,类型:string返回信息: QueryResult:表示数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍值
15、,类型:string strError:返回错误信息,类型:stringDeleteItemUpdate服务服务说明: 接受用户提交的基础资料数据的关键字,删除K/3的相应数据接口定义: public bool DeleteItemUpdate(int iAisID, string strUser, string strPassword, ItemObject IO, Delete Data, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strP
16、assword:用户密码,目前通过明文传递,类型:string IO:查询的基础资料对象类别,见DeleteItemQuery服务 Data:业务数据,符合Schema规范,类型:数组返回信息: UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。 strError:返回错误信息,类型:string币别 (Currency.asmx)Query服务服务说明: 返回满足条件的币别信息接口定义: public Currency Query(int iAisID, string strUser, string strPassword, int i
17、PerCount, string strFilter, ref string strTimeStamp, out string strMaxTimeStamp, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string iPerCount:查询时的每页记录条数,inteager strFilter:过滤条件,符合Sql4.0规范,类型:string strTimeStamp: 传入起始时间
18、辍值,默认为“0x0000000000000000”, 返回当前页的最大时间辍值,类型:string返回信息: QueryResult:表示数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:string strError:返回错误信息,类型:stringUpdate服务服务说明: 接受用户提交的数据,更新K/3的币别信息接口定义: public bool Update(int iAisID, string strUser, string strPassword, C
19、urrency Data, bool bCheckByUUID, bool bAddNewOnly, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string Data:业务数据,符合Schema规范,类型:数组 bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly
20、:是否只增加记录。true表示只增加但不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回错误信息,类型:string计量单位 (MeasureUnit.asmx)Query服务服务说明: 返回满足条件的计量单位信息接口定义: public MeasureUnit Query(int iAisID, string strUser, string strPassword, int iPerCount, string strFilter, ref s
21、tring strTimeStamp, out string strMaxTimeStamp, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string iPerCount:查询时的每页记录条数,inteager strFilter:过滤条件,符合Sql4.0规范,类型:string strTimeStamp:传入起始时间辍值,默认为“0x0000000000000000”,返回当前页的最
22、大时间辍值,类型:string返回信息: QueryResult:表示数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:string strError:返回错误信息,类型:stringUpdate服务服务说明: 接受用户提交的数据,更新K/3的计量单位信息接口定义: public bool Update(int iAisID, string strUser, string strPassword, MeasureUnit Data, bool bCheckByUUI
23、D, bool bAddNewOnly, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string Data:业务数据,符合Schema规范,类型:数组 bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly:是否只增加记录。true表示只增加不覆盖记录,false表
24、示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回错误信息,类型:string辅助资料 (AssistDetail.asmx)Query服务服务说明: 返回满足条件的辅助资料信息接口定义: public Assist Query(int iAisID, string strUser, string strPassword, int iPerCount, string strFilter, ref string strTimeStamp, out string strM
25、axTimeStamp, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string iPerCount:查询时的每页记录条数,inteager strFilter:过滤条件,符合Sql4.0规范,类型:string strTimeStamp:传入起始时间辍值,默认为“0x0000000000000000”,返回当前页的最大时间辍值,类型:string返回信息: QueryResult:表示
26、数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:string strError:返回错误信息,类型:stringUpdate服务服务说明: 接受用户提交的数据,更新K/3的辅助资料信息接口定义: public bool Update(int iAisID, string strUser, string strPassword, Assist Data, bool bCheckByUUID, bool bAddNewOnly, out string strError
27、)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string Data:业务数据,符合Schema规范,类型:数组 bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly:是否只增加记录,true表示只增加不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果
28、更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回错误信息,类型:string科目 (Account.asmx)Query服务服务说明: 返回满足条件的科目信息接口定义: public Account Query(int iAisID, string strUser, string strPassword, int iPerCount, string strFilter, ref string strTimeStamp, out string strMaxTimeStamp, out string strError)参数说明: iAisID:账套
29、ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string iPerCount:查询时的每页记录条数,inteager strFilter:过滤条件,符合Sql4.0规范,类型:string strTimeStamp:传入起始时间辍值,默认为“0x0000000000000000”,返回当前页的最大时间辍值,类型:string返回信息: QueryResult:表示数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将
30、此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍值,类型:string strError:返回错误信息,类型:stringUpdate服务服务说明: 接受用户提交的数据,更新K/3的科目信息接口定义: public bool Update(int iAisID, string strUser, string strPassword, Account Data, bool bCheckByUUID, bool bAddNewOnly, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser
31、:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string Data:业务数据,符合Schema规范,类型:数组 bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly:是否只增加记录,true表示只增加不覆盖记录,false表示既增加又覆盖记录,类型:boolean返回信息:UpdateResult:如果更新成功,返回为True,否则返回False,strError包含出错信息。strError:返回
32、错误信息,类型:string凭证字 (VoucherGroup.asmx)Query服务服务说明: 返回满足条件的凭证字信息接口定义: public VoucherGroup Query(int iAisID, string strUser, string strPassword, int iPerCount, string strFilter, ref string strTimeStamp, out string strMaxTimeStamp, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名
33、称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string iPerCount:查询时的每页记录条数,inteager strFilter:过滤条件,符合Sql4.0规范,类型:string strTimeStamp:传入起始时间辍值,默认为“0x0000000000000000”,返回当前页的最大时间辍值,类型:string返回信息: QueryResult:表示数据信息的节点组,类型:数组 strTimeStamp:返回当前页的最大时间辍值,下一页查询,将此值直接传入 strMaxTimeStamp:返回所要返回记录的最大时间辍
34、值,类型:string strError:返回错误信息,类型:stringUpdate服务服务说明: 接受用户提交的数据,更新K/3的凭证字信息接口定义: public bool Update(int iAisID, string strUser, string strPassword, VoucherGroup Data, bool bCheckByUUID, bool bAddNewOnly, out string strError)参数说明: iAisID:账套ID,通过账套查询服务获取,类型:inteager strUser:用户名称,必须为K/3中的合法用户,类型:string strPassword:用户密码,目前通过明文传递,类型:string Data:业务数据,符合Schema规范,类型:数组 bCheckByUUID:指明是否按UUID更新数据。True表示按UUID更新数据,False表示按Number,Name更新数据,类型:Boolean bAddNewOnly:是否只增加记录,true表示只增加不覆盖记录,fal