SalesforceアウトバウンドメッセージをSkyOnDemandで取得する方法
SalesforceアウトバウンドメッセージをSkyOnDemandで取得する方法について説明します。
Salesforceアウトバウンドメッセージとは
Salesforceのアウトバウンドメッセージの詳細については、以下リンクを参照ください。
処理の流れ
SalesforceのワークフローにてSalesforceアウトバウンドメッセージをSKyOnDemandに送信します。
↓
SKyOnDemandはWebサービストリガーにてリクエストを受付してSOAPメッセージを取得します。
↓
レスポンスのSOAPメッセージをSalesforceへ返します。
以下手順について詳述します。
設定手順
1.Salesforceアウトバウンドメッセージ設定
Salesforceアウトバウンドメッセージを設定します。
送信する項目には取得する項目を設定します。
エンドポイントURLはWebサービストリガーのパスを設定します。(後記で説明します。)
2.ワークフロールールの設定
Salesforceアウトバウンドメッセージを送信するワークフロールールを作成します。
本記事では取引先が登録、更新時に発火するように作成します。
3.スクリプトの作成
完成図
作成手順
- スクリプト変数の作成
- Webサービストリガーからのリクエストを受け取りやレスポンスの受け渡しのためのスクリプト変数を追加します。
- Webサービストリガーからのリクエストを受け取りやレスポンスの受け渡しのためのスクリプト変数を追加します。
入力変数よりリクエストを受け取り
スクリプト変数からリクエストをCSVに出力します。
Webサービストリガーにて受け渡されたSOAPメッセージが入力変数(req)に渡されるため、[mapping]アイコンを配置し、[Start]アイコンから[mappinng]アイコンにプロセスフロー及びデータフローを引きます。
次に[CSV書き込み]アイコンを配置し、[mapping]アイコンから[CSV書き込み]アイコンにプロセスフローとデータフローを引きます。
- CSVファイル書き込み設定
取得するデータのヘッダーを追加します。
- 書き込み設定は上書きとして、1行目に列名を挿入します
- mappingアイコンの設定
- リクエストのSOAPメッセージの入力スキーマを設定します。
- 今回はId、Name、Phoneの値を取得するので対象スキーマをCSV書き込みにマッピングします。
復数取得する場合は単純な繰り返しアイコンを親ノード同士をマッピングします。
スキーマ設定について
SalesforceアウトバウンドメッセージのリクエストをそのままXML書き込みアイコンにてXMLファイルに書きだし、そのファイルをmappingアイコンで
スキーマ読み込み→XMLファイルから読み取りを選択すると容易にスキーマを設定することが可能です。
「XMLファイルからスキーマを読み込む方法」
1. SOAPメッセージをXMLファイルに出力します。
2. 出力したXMLファイルからスキーマの読み込みます。
レスポンスのSOAPメッセージを出力変数に返します。
成功であればtrue、失敗であればfalseを返します。Salesforceアウトバウンドメッセージのステータスとなります。
- プロジェクトのサービス登録
- 上記5までで作成できたスクリプトを保存し、プロジェクトをサービスに登録します。
- 上記5までで作成できたスクリプトを保存し、プロジェクトをサービスに登録します。
4.Webサービストリガーの設定
設定方法
- マイサービスより新しいWebサービストリガーを作成します。
- Webサービストリガーの設定
- トリガー名や実行パスを設定します。
- 入出力処理形式は[SOAPエンペローブを受け渡す]を選択します。
- WSDL定義にはSalesforceアウトバウンドメッセージのエンドポイントWSDLの内容を設定します。
実行するサービスとスクリプトを選択します。
SalesforceからのSOAPリクエストを受け取るために入力変数にWebサービストリガー変数の[SOAPリクエスト]を設定します。
- SalesforceからのSOAPレスポンスを返すために出力変数にWebサービストリガー変数の[SOAPレスポンス]を設定します。
- 上記設定したらトリガーの状態を有効として設定を完了します。
5.HTTPトリガー情報にWebサービストリガーパスを登録
- HTTPトリガー情報の設定
- Webサービストリガーの実行パスをSkyOnDemand管理画面のHTTPトリガー情報に登録してください。
- Webサービストリガーの実行パスをSkyOnDemand管理画面のHTTPトリガー情報に登録してください。
- Salesforceアウトバウンドメッセージの設定
- 上記5.1.のパスをSalesforceアウトバウンドメッセージのエンドポイントURLとして登録します。
- 上記5.1.のパスをSalesforceアウトバウンドメッセージのエンドポイントURLとして登録します。
6.動作確認
- 取引先レコード登録または更新時にSkyOnDemandにアウトバウンドメッセージが送信され、対象レコードの送信項目が取得されます。
- 取引先登録
- マイトリガーのステータスは正常終了
- Salesforceアウトバウンドメッセージの取得結果
- 取引先登録
補足
- Salesforceアウトバウンドメッセージが失敗したかどうか確認するには、監視-アウトバウンドメッセージから確認することができます。