上一节我们讲了云之家智能审批推送EAS(SHR)的一些基本原理和一些基础实现功能点,这一节我们讲讲,这个功能实现的一些细节。方便我们以后的开发中少走弯路。
一、先从EAS web Service 说起,这里我们要在bos环境创建一个web service接口,这里创建的方法就不用多说了,我们社区都有现成的,路径如下 https://vip.kingdee.com/article/289068006561410304?productLineId=8&isKnowledge=2 创建完webservice后我们需要把他导出成wsdl的文件。这个在我们后面使用第三方接口调用时可以用到。
二、给第三方应用设置tomcat服务器,这里有一点要强调,tomcat的版本不能低于1.6,如果要用到new BASE64Encoder()方法解密的华不能高于1.8。首先要在自己电脑上安装tomcat,然后通过eclipse的窗口属性引入进去,当然,项目也需要配置好对应的tomcat
三、把上面的wsdl文件引入项目,生成对应的服务文件。这个在引入wsdl后可以直接构建
四、引入项目需要的jar包cloudflow-sdk-1.1.jar这个jar包是必须引入,不然后面对加密数据的操作会比较困难。
五、其他jar包的引入看具体情况而定
六、对于解密,参考下面代码
/**
* 解密
*
* @param data
* @return
*/
public String decrypt(String data) {
byte[] plainData = decrypt(Base64.decodeBase64(data));
return new String(plainData, CHARSET);
}
/**
* 解密
*
* @param data
* @return
*/
public byte[] decrypt(byte[] data) {
Key k = new SecretKeySpec(aesKey.getBytes(CHARSET), ALGORITHM);
byte[] raw = k.getEncoded();
SecretKeySpec secretKeySpec = new SecretKeySpec(raw, ALGORITHM);
try {
Cipher cipher = Cipher.getInstance(ALGORITHM);
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
return cipher.doFinal(data);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
七、对于集群,尽量使用单实例端口
推荐阅读