云之家智能审批推送EAS(SHR)之完全解读(二)原创
金蝶云社区-BobbyLIU
BobbyLIU
7人赞赏了该文章 604次浏览 未经作者许可,禁止转载编辑于2022年06月28日 09:22:01

上一节我们讲了云之家智能审批推送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);

        }

    }

七、对于集群,尽量使用单实例端口


赞 7