54.16. Raw 操作の使用
HTTP リクエストを Salesforce に送信し、通話のすべての側面を完全に直接制御します。リクエストおよびレスポンス本文のシリアル化または逆シリアル化は、ルートで実行する必要があります。Content-Type
HTTP ヘッダーは format
オプションに基づいて自動的に設定されますが、これは rawHttpHeaders
オプションでオーバーライドできます。
パラメーター | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
要求のボディー |
| HTTP リクエストの本文 | ||
rawPath |
| ドメイン名の後のエンドポイント URL の部分 (/services/data/v51.0/sobjects/Account/など) | x | |
rawMethod |
| HTTP メソッド | x | |
rawQueryParameters |
| クエリーパラメーターとして含めるメッセージヘッダーのコンマ区切りリストこれは自動的に行われるため、値を URL エンコードしないでください。 | ||
rawHttpHeaders |
| HTTP ヘッダーとして含めるメッセージヘッダーのコンマ区切りリスト |
54.16.1. クエリーの例 リンクのコピーリンクがクリップボードにコピーされました!
この例では、クエリーを REST API に送信します。クエリーは q という URL パラメーターで渡す必要があるため、q というメッセージヘッダーを作成し、そのメッセージヘッダーを URL パラメーターとして含めるよう raw オペレーションに指示します。
from("direct:queryExample") .setHeader("q", "SELECT Id, LastName FROM Contact") .to("salesforce:raw?format=JSON&rawMethod=GET&rawQueryParameters=q&rawPath=/services/data/v51.0/query") // deserialize JSON results or handle in some other way
from("direct:queryExample")
.setHeader("q", "SELECT Id, LastName FROM Contact")
.to("salesforce:raw?format=JSON&rawMethod=GET&rawQueryParameters=q&rawPath=/services/data/v51.0/query")
// deserialize JSON results or handle in some other way
54.16.2. SObject の例 リンクのコピーリンクがクリップボードにコピーされました!
この例では、create
操作で Contact を REST API に渡します。raw
操作はシリアル化を実行しないため、メッセージ本文で XML を渡すようにします。
from("direct:createAContact") .setBody(constant("<Contact><LastName>TestLast</LastName></Contact>")) .to("salesforce:raw?format=XML&rawMethod=POST&rawPath=/services/data/v51.0/sobjects/Contact")
from("direct:createAContact")
.setBody(constant("<Contact><LastName>TestLast</LastName></Contact>"))
.to("salesforce:raw?format=XML&rawMethod=POST&rawPath=/services/data/v51.0/sobjects/Contact")
応答は次のとおりです。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Result> <id>0034x00000RnV6zAAF</id> <success>true</success> </Result>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Result>
<id>0034x00000RnV6zAAF</id>
<success>true</success>
</Result>