- 增加 Salesforce CLI 和 Legacy Credential 登录支持 - 将错误码映射从数据库表改为枚举类(SalesforceErrorCode) - 增加会话管理表(datai_sf_login_session)和功能 - 增加登录历史导出 Excel 和分页查询功能 - 优化系统配置字段(login_url、grant_type、org_alias) - 更新业务场景、功能需求、数据模型、业务规则等章节 - 确保总需求文档与所有子需求保持一致
6.6 KiB
6.6 KiB
Salesforce Common 模块依赖说明
概述
本文档详细说明 datai-salesforce-common 模块中所有依赖的用途和版本信息。
Salesforce 核心 JAR 包(本地依赖)
1. partner.jar
- Maven 坐标:
com.force.api:partner:57.0.0 - 类型: 本地 JAR 包(system scope)
- 路径:
src/main/resources/lib/partner.jar - 用途: Salesforce Partner API
- 提供对 Salesforce 数据的访问接口
- 支持标准的 CRUD 操作
- 支持查询、搜索、批量操作
- 适用于大多数数据访问场景
2. metadata.jar
- Maven 坐标:
com.force.api:metadata:57.0.0 - 类型: 本地 JAR 包(system scope)
- 路径:
src/main/resources/lib/metadata.jar - 用途: Salesforce Metadata API
- 提供对 Salesforce 元数据的访问接口
- 支持自定义对象的创建、修改、删除
- 支持字段、页面、布局的元数据操作
- 适用于动态配置和部署场景
3. tooling.jar
- Maven 坐标:
com.force.api:tooling:57.0.0 - 类型: 本地 JAR 包(system scope)
- 路径:
src/main/resources/lib/tooling.jar - 用途: Salesforce Tooling API
- 提供对开发工具的访问接口
- 支持代码部署、测试、调试
- 支持开发者工具集成
- 适用于开发和管理场景
4. apex.jar
- Maven 坐标:
com.force.api:apex:57.0.0 - 类型: 本地 JAR 包(system scope)
- 路径:
src/main/resources/lib/apex.jar - 用途: Salesforce Apex API
- 提供 Apex 代码的执行接口
- 支持异步执行、批处理
- 支持调用 Apex 类和方法
- 适用于业务逻辑执行场景
传输层依赖
5. force-wsc
- Maven 坐标:
com.force.api:force-wsc:57.0.0 - 类型: Maven 仓库依赖
- 用途: Force.com Web Services Connector
- 提供 SOAP Web 服务客户端
- 处理与 Salesforce 的通信
- 支持 WS-Security 认证
- 是所有 Salesforce API 的基础通信层
6. httpclient
- Maven 坐标:
org.apache.httpcomponents:httpclient:4.5.14 - 类型: Maven 仓库依赖
- 用途: Apache HTTP Client
- 提供高性能 HTTP 客户端
- 支持连接池、重试机制
- 支持多种认证方式
- 用于与 Salesforce API 进行 HTTP 通信
7. httpcore
- Maven 坐标:
org.apache.httpcomponents:httpcore:4.4.16 - 类型: Maven 仓库依赖
- 用途: Apache HTTP Core
- 提供 HTTP 协议核心实现
- 支持同步和异步 I/O
- 支持连接管理
- 是 httpclient 的基础依赖
JSON 处理依赖
8. jackson-databind
- Maven 坐标:
com.fasterxml.jackson.core:jackson-databind:2.15.3 - 类型: Maven 仓库依赖
- 用途: Jackson 数据绑定
- 提供 JSON 对象序列化和反序列化
- 支持复杂对象映射
- 支持 JSON 到 Java 对象的转换
- 用于处理 Salesforce API 返回的 JSON 数据
9. jackson-core
- Maven 坐标:
com.fasterxml.jackson.core:jackson-core:2.15.3 - 类型: Maven 仓库依赖
- 用途: Jackson 核心库
- 提供 JSON 解析和生成
- 支持流式处理
- 是 jackson-databind 的基础依赖
10. jackson-annotations
- Maven 坐标:
com.fasterxml.jackson.core:jackson-annotations:2.15.3 - 类型: Maven 仓库依赖
- 用途: Jackson 注解
- 提供 JSON 序列化/反序列化注解
- 支持 @JsonProperty、@JsonIgnore 等
- 是 jackson-databind 的基础依赖
日志依赖
11. slf4j-api
- Maven 坐标:
org.slf4j:slf4j-api:2.0.9 - 类型: Maven 仓库依赖
- 用途: SLF4J 日志门面
- 提供统一的日志接口
- 支持多种日志实现切换
- 提供占位符、参数化日志
- 用于记录 Salesforce API 调用日志
12. logback-classic
- Maven 坐标:
ch.qos.logback:logback-classic:1.4.11 - 类型: Maven 仓库依赖
- 用途: Logback 日志实现
- 提供 SLF4J 的日志实现
- 支持多种输出格式
- 支持日志滚动、归档
- 用于实际的日志输出
XML 处理依赖
13. dom4j
- Maven 坐标:
org.dom4j:dom4j:2.1.4 - 类型: Maven 仓库依赖
- 用途: DOM4J XML 解析器
- 提供高效的 XML 解析和处理
- 支持 XPath 查询
- 支持 DOM、SAX 两种模式
- 用于处理 Salesforce SOAP API 的 XML 消息
14. jaxb-api
- Maven 坐标:
javax.xml.bind:jaxb-api:2.3.1 - 类型: Maven 仓库依赖
- 用途: JAXB API
- 提供 Java 对象到 XML 的绑定
- 支持 XML Schema 生成
- 提供 @XmlRootElement 等注解
- 用于处理 Salesforce SOAP API 的 XML 数据
15. jaxb-runtime
- Maven 坐标:
org.glassfish.jaxb:jaxb-runtime:2.3.1 - 类型: Maven 仓库依赖
- 用途: JAXB 运行时
- 提供 JAXB API 的实现
- 支持 XML 序列化和反序列化
- 是 jaxb-api 的基础依赖
- 用于实际的 XML 处理
依赖关系图
datai-salesforce-common
├── Salesforce 核心 JAR 包
│ ├── partner.jar (Partner API)
│ ├── metadata.jar (Metadata API)
│ ├── tooling.jar (Tooling API)
│ └── apex.jar (Apex API)
│
├── 传输层
│ ├── force-wsc (Web Services Connector)
│ ├── httpclient (HTTP Client)
│ └── httpcore (HTTP Core)
│
├── JSON 处理
│ ├── jackson-databind
│ ├── jackson-core
│ └── jackson-annotations
│
├── 日志
│ ├── slf4j-api
│ └── logback-classic
│
└── XML 处理
├── dom4j
├── jaxb-api
└── jaxb-runtime
使用场景
1. 数据访问场景
使用 partner.jar 进行标准的 CRUD 操作:
- 查询 Account、Contact 等对象
- 创建、更新、删除记录
- 批量操作
2. 元数据管理场景
使用 metadata.jar 管理自定义对象和字段:
- 创建自定义对象
- 添加自定义字段
- 部署元数据
3. 开发工具场景
使用 tooling.jar 进行开发和管理:
- 部署 Apex 代码
- 运行单元测试
- 调试代码
4. 业务逻辑执行场景
使用 apex.jar 执行业务逻辑:
- 调用 Apex 类方法
- 执行异步操作
- 批量处理数据
注意事项
- 本地 JAR 包版本: 当前假设版本为 57.0.0,如果您的 JAR 包版本不同,请更新 pom.xml 中的版本号
- system scope: 本地 JAR 包使用 system scope,打包时需要确保 JAR 包存在
- 依赖传递: 其他模块依赖
datai-salesforce-common后,会自动获得所有这些依赖 - 版本兼容性: 确保所有依赖版本之间兼容,避免冲突
更新日志
- 2026-01-21: 初始版本,添加所有 Salesforce 集成相关依赖