云服务器内容精选
-
异常处理 问题描述 服务正常启动,但调用任何接口都返回如下错误信息: { "result": "FAIL", "timestamp": "2024-12-04 10:33:04", "error_code": "LIC.60007023", "error_msg": "No access rights. Please check license config or file.", "trance_id": null } 可能原因 此错误信息表示当前SDK未正常运行,无法提供服务。可能存在如下原因: 当前SDK服务的试用时间已到期。 当前SDK服务未配置License。 当前SDK服务配置的License已过期。 当前SDK服务配置License的信息填写不正确。 处理步骤 在容器环境中,调用如下接口,获取容器的ESN。 http://{容器的IP地址}:{SDK服务的端口号}/rdm_{应用的唯一标识}_app/services/v1/license/collect-esn 记录显示结果中的“data”信息。 { "result": "SUC CES S", "data": [ "ESN" ], "errors": [] } 将1记录的“data”信息提供给运维工程师,获取License文件。 在配置文件(例如“application.properties”)中添加License配置信息。
-
检查SDK包(可选) 为防止数据建模引擎运行SDK包在存储、下载、传输过程中被篡改,建议在部署前检查SDK包是否完整。 您可以使用如下校验函数进行校验,当生成的文件签名与您获取的SDK包文件签名一致时,表示SDK包完整。 public static String getSHA256(File file) { FileInputStream fileInputStream = null; try { MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); fileInputStream = new FileInputStream(file); byte[] buffer = new byte[8192]; int length; while ((length = fileInputStream.read(buffer)) != -1) { messageDigest.update(buffer, 0, length); } return new String(HexUtil.encodeHex(messageDigest.digest())); } catch (Exception ex) { log.error("getSHA256 error.", ex); return null; } finally { try { if (fileInputStream != null) { fileInputStream.close(); } } catch (IOException ex) { log.error("getSHA256 error when close inputStream.", ex); } } } 其中,“MessageDigest”为“java.security”组件,“HexUtil”为“hutool”组件。