268.9. 承認の操作
すべてのプロパティーの名前は、Salesforce REST API とまったく同じで、approval.の接頭辞が付いています。テンプレートとして使用されるエンドポイントの approval.PropertyName を設定することで、承認プロパティーを設定できます。つまり、本文にもヘッダーにも存在しないプロパティーは、エンドポイント設定から取得されます。または、approval プロパティーをレジストリー内の Bean への参照に割り当てることで、エンドポイントに承認テンプレートを設定できます。
受信メッセージヘッダーで同じ approval.PropertyName を使用してヘッダー値を指定することもできます。
最後に、本文には、バッチとして処理する 1 つの AprovalRequest または ApprovalRequest オブジェクトの Iterable を含めることができます。
覚えておくべき重要なことは、これら 3 つのメカニズムで指定された値の優先度です。
- 本文の値は他の値よりも優先されます
- メッセージヘッダーの値はテンプレート値よりも優先されます
- ヘッダーまたは本文に他の値が指定されていない場合、テンプレートの値が設定されます
たとえば、ヘッダーの値を使用して承認のために 1 つのレコードを送信するには、次を使用します。
指定した経路:
以下を使用して、承認のためにレコードを送信できます。
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);
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);