43.15. raw Salesforce コンポジットの使用
rawPayload オプションのおかげで、ルートに Salesforce JSON リクエストを用意することで、Salesforce コンポジットを直接呼び出すことができます。
たとえば、次のルートを持つことができます。
from("timer:fire?period=2000").setBody(constant("{\n" +
" \"allOrNone\" : true,\n" +
" \"records\" : [ { \n" +
" \"attributes\" : {\"type\" : \"FOO\"},\n" +
" \"Name\" : \"123456789\",\n" +
" \"FOO\" : \"XXXX\",\n" +
" \"ACCOUNT\" : 2100.0\n" +
" \"ExternalID\" : \"EXTERNAL\"\n"
" }]\n" +
"}")
.to("salesforce:composite?rawPayload=true")
.log("${body}");
ルートはボディを JSON として直接作成し、rawPayload=true オプションを使用して Salesforce エンドポイントに直接送信します。
このアプローチでは、Salesforce リクエストを完全に制御できます。
POST は、raw の複合リクエストを Salesforce に送信するために使用されるデフォルトの HTTP メソッドです。他のサポートされている値 GET にオーバーライドするには、compositeMethod オプションを使用します。この値は、他の使用可能な複合リソースのリストを返します。