数据引入引出“webservice接口”说明
1. 数据引入接口
自定义核算项目引入引出使用通用的外部数据交换接口,WSExternalDataExchangeFacade
1、 要使用自定义核算项目引入引出接口,必须首先登录EAS,可参考EASLogin接口文档。
2、自定义核算项目引入引出接口 webService 接口生成客户端,可参考 EASLogin 方法
1.1 importBizData
1、 使用该接口引入自定义核算项目数据
2、 引入参数:String[][] importBizData(String easTemplaeNum, String xmlData, boolean isUpdate) throws BOSException
• 传参数第1个:easTemplaeNum 数据引入模板编码
自定义核算项目标准引入引出模板编码: generalasstacttype
• 传参数第2个:xmlData
Xml格式的数据文件, xml模板可以从EAS自定义核算项目引入引出模板处获得。
• 传参数第3个:isUpdate
是否覆盖更新,是:覆盖更新;否,新增引入
附:自定义核算项目XML模板
<?xml version="1.0" encoding="UTF-8"?>
<easrecord product="EAS" version="7.5.0" objectName="generalasstacttype" objectDesc="自定义核算项目"><struct>
<field name="FNumber" desc="编码" isNeed="true" memo="" />
<field name="Fname_L1" desc="英文_名称" isNeed="false" memo="" />
<field name="Fname_L2" desc="简体中文_名称" isNeed="true" memo="" />
<field name="Fname_L3" desc="繁体中文_名称" isNeed="false" memo="" />
<field name="FGroupID" desc="类型编码" isNeed="true" memo="" />
<field name="FParentID" desc="上级编码" isNeed="false" memo="" />
<field name="FIsEnabled" desc="是否启用" isNeed="true" memo="" />
<field name="Fdescription_L1" desc="英文_描述" isNeed="false" memo="" />
<field name="Fdescription_L2" desc="简体中文_描述" isNeed="false" memo="" />
<field name="Fdescription_L3" desc="繁体中文_描述" isNeed="false" memo="" />
<field name="FCreatorNumber" desc="创建人编码" isNeed="false" memo="" />
<field name="FCreateTime" desc="创建时间" isNeed="false" memo="" />
<field name="FMeasureUnitGroupID" desc="计量单位组编码" isNeed="false" memo="" />
<field name="FMeasureUnitID" desc="计量单位编码" isNeed="false" memo="" />
</struct>
<records>
<record>
<field name="FNumber">1</field>
<field name="Fname_L2">自定义核算项目1</field>
<field name="FGroupID">01</field>
<field name="FIsEnabled">1</field>
</record>
</records>
</easrecord>
3、 引入代码调用说明
导入的自定义核算项目数据的公司将取登录用户的默认组织。因此,如果要将数据导入某组织,必须有该组织权限的用户(且该用户的默认组织为该组织)从EASLogin接口登录以后才能正确导入数据。
引入接口的自定义核算项目引入代码示例如下
WSExternalDataExchangeFacadeSrvProxyServiceLocator locator=new WSExternalDataExchangeFacadeSrvProxyServiceLocator("localhost");
WSExternalDataExchangeFacadeSrvProxy proxy=locator.getWSExternalDataExchangeFacade();
String temple="receivingBill";
String file="C:\\Documents and Settings\\yongliang_zhu\\桌面\\引入引出\\收.xml";
FileInputStream fis=new FileInputStream(file);
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
StringBuffer sb=new StringBuffer();
while(br.ready()){
sb.append(br.readLine());
}
String[][] www=proxy.importBizData(temple, sb.toString(), true);
4、 返回值String[][]
是一个长度为导入数据中有错误的数据总数,宽度是2的字符串数据
宽度的定义: 第N行数据导入错误, 错误详细信息。
2. EAS登录 webService 接口
2.1 功能规划
1、 如需调用数据引入引出接口,必需先要登录EAS,先期需要调用 EASLogin 登录 EAS
2.2 EASLogin 发布
1、 发布 EASLogin 客户端
2、 点击 EASLogin(wsdl),获取其 wsdl 地址
3、 制作 bat 文件,利用第三方包,发布登录客户端代码,调用语句如下:
java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://192.168.16.13:6888/ormrpc/services/EASLogin?wsdl
4、 第三方apache包
5、 代码解释:java –Djava.ext.dirs=lib org.apache
lib 是包放置的文件夹名
2.3 EASLogin 代码调用
1、 调用的各所需参数
2、 所需参数:
* @param userName 用户名 String
* @param password 密码 String
* @param slnName eas String
* @param dcName 数据中心 String
* @param language 语言 String
* @param dbType 数据库类型 int
* @param authPattern 验证方式 默认 "BaseDB" ; 其他认证方式KEY可从easAuthPatterns.xml中获取 String
3、 参数说明
a) 所传参数,如上所列,按顺序传入
b) 查看EASLogin(wsdl),有两个接口,
i. 传参6个,此方式不提倡使用。为保证原有功能,服务端最后也会调用
传参7个的方法,第7参数自动调用"BaseDB"
ii. 传参7个,如调用此方法,则需要查询easAuthPatterns.xml 文档
c) 解决方案:eas
d) 语言:L2 简体中文L3 繁体中文
e) 服务器地址 + 端口:组合成 URL
f) 数据库类型:0 SQL Server1 Oracle2 DB2
g) authPattern 验证方式
i. 默认 "BaseDB"
ii. easAuthPatterns.xml 文档路径
iii. easAuthPatterns.xml 文档说明
4、 做一个javaBean 类,把此参数 set 到此javaBean 类中
5、 登录代码
a) 登录
b) 登录实现