搜索

54.10. 使用批准

download PDF

所有属性都与带有 批准前缀的 Salesforce REST API 中完全相同。您可以通过设置 Endpoint 的 approval.PropertyName 来设置批准属性,这些属性将用作 template,即 body 或 header 中没有的任何属性都将从 Endpoint 配置中获取。或者,您可以通过将批准属性分配给 Registry 中的 bean 的引用来设置端点上 的批准 模板。

您还可以使用传入消息标头中使用相同的 approval.PropertyName 提供标头值。

最后,正文可以包含一个 AprovalRequestApprovalRequest 对象的 Iterable,以作为批处理处理。

要记住的重要事项是这三个机制中指定的值的优先级:

  1. 正文中的值在任何其他前具有优先级
  2. 消息标头中的值在模板值前具有优先权
  3. 如果未指定标头或正文中的其他值,则会设置模板中的值

例如,要使用标头中的值为批准发送一个记录:

给定路由:

from("direct:example1")//
        .setHeader("approval.ContextId", simple("${body['contextId']}"))
        .setHeader("approval.NextApproverIds", simple("${body['nextApproverIds']}"))
        .to("salesforce:approval?"//
            + "approval.actionType=Submit"//
            + "&approval.comments=this is a test"//
            + "&approval.processDefinitionNameOrId=Test_Account_Process"//
            + "&approval.skipEntryCriteria=true");

您可以使用以下方法发送记录以进行批准:

final Map<String, String> body = new HashMap<>();
body.put("contextId", accountIds.iterator().next());
body.put("nextApproverIds", userId);

final ApprovalResult result = template.requestBody("direct:example1", body, ApprovalResult.class);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.