Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerSalesforce Connector の Mule フローの例を示します。
この例は、新規 Salesforce 取引先の作成と新規取引先の照会を行うように Salesforce Connector を設定する方法と、『File Connector』 を使用して新規取引先データをファイルに書き込む方法を示しています。この例には次の 3 つのフローが含まれます。
最初のフロー: 新規取引先のデータを提供するために使用する HTML 入力フォームのテンプレートを設定します。
2 番目のフロー: HTML 入力フォームの情報に基づいて新規 Salesforce 取引先を作成します。
3 番目のフロー: 新規取引先を名前で照会し、新規取引先データを CSV ファイルに書き込みます。
新規取引先の作成に使用されるデータを提供する HTML テンプレートを設定する最初のフローを設定します。最初のフローを作成するには、Listener コンポーネントと Parse Template コンポーネントを設定する必要があります。
/account
パスへのコールが行われたときに Mule フローを開始するように Listener コンポーネントを設定します。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューから、[HTTP] を選択して [Listener] コンポーネントをキャンバスにドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
プロパティウィンドウで、[Path (パス)] 項目値を /account
に設定します。
HTML フォーム (form.html
) のテンプレートを作成する Parse Template コンポーネントを追加します。これはメインリソースフォルダーに配置され、新規取引先を作成するための情報を伝達するために使用されます。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Parse Template] コンポーネントを [Listener] の右側にドラッグします。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コンポーネントの名前 ( |
Location (場所) |
|
次の画像は、プロパティウィンドウでの Parse Template 設定の例を示しています。
HTTP 入力フォームのデータに基づいて新規 Salesforce 取引先を作成する 2 番目のフローを設定します。2 番目のフローを作成するには、Listener コンポーネント、Transform Message コンポーネント、Create 操作、2 つ目の Transform Message コンポーネントを設定する必要があります。
/createAccount
パスへのコールが行われたときに Mule フローを開始するように Listener コンポーネントを設定します。
[Mule Palette (Mule パレット)] ビューから、[HTTP] を選択して [Listener] コンポーネントをキャンバスにドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
プロパティウィンドウで、[Path (パス)] 項目値を /createAccount
に設定します。
HTTP 入力フォームの値を Java 形式に変換して Create 操作への入力として使用できるようにする最初の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Listener] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/java
---
[{
Name: payload.Name,
AccountNumber: payload.AccountNumber,
BillingCity: payload.BillingCity
}]
dataweave
Transform Message コンポーネントにより渡された項目値を使用して新規 Salesforce アカウントを作成する Create 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Create] 操作を [Transform Message] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Create 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Type (型) |
[Type (型)] には変数を正常に渡すことができますが、Runtime がその変数の値を適切に解決できないと入力メタデータを表示する際に問題が発生する場合もあります。 |
Records (レコード) |
|
次の画像は、プロパティウィンドウでの Create 設定の例を示しています。
項目値を JSON 形式に変換して 『File Connector』 で使用できるようにする 2 つ目の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Create] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/json
---
payload map {
id:$.id,
errors:$.errors,
success:$.success
}
dataweave
新規 Salesforce 取引先を名前で照会し、一致する取引先データを Java ファイルに書き込む 3 番目のフローを設定します。3 番目のフローを作成するには、On New Object ソース、Query result list 操作、Query result stream by id 操作、Transform Message コンポーネント、Write 操作を設定する必要があります。
/account
パスに新規取引先が作成されたときに Mule フローを開始するように On New Object ソースを設定します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [On New Object] ソースをキャンバスにドラッグします。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Type (型) |
|
次の画像は、プロパティウィンドウでの On New Object 設定の例を示しています。
結果 ID のリストを返す Query result list 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Query result list] 操作を [On New Object] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Query result list 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Batch info (バッチ情報) |
|
次の画像は、プロパティウィンドウでの Query result list 設定の例を示しています。
最終クエリ結果を取得する Query result stream by id 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Query result stream by id] 操作を [Query result list] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Query result stream by id 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Batch info (バッチ情報) |
|
次の画像は、プロパティウィンドウでの Query result stream by id 設定の例を示しています。
項目値を JSON 形式に変換して 『File Connector』 で使用できるようにする Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Query result stream by id] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/json
---
payload map {
AccountNumber:$.AccountNumber,
BillingAddress:$.BillingAddress,
Id:$.Id,
Name:$.Name
}
dataweave
新規取引先データを CSV ファイルに書き込む Write 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[File (ファイル)] を選択して [Write] 操作を [Transform Message] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Working Directory (作業ディレクトリ) |
[Connection (接続)] が選択されている場合、このコネクタで使用するすべての相対パスのルートとみなされるディレクトリ。指定しない場合、デフォルトの |
次の画像は、グローバル要素の Write 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Path (パス) |
|
Content (コンテンツ) |
|
次の画像は、プロパティウィンドウでの Write 設定の例を示しています。
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
<configuration-properties file="mule-app.properties"/>
<http:listener-config name="HTTP_Listener_config"
doc:name="HTTP Listener config" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<salesforce:sfdc-config name="Salesforce_Sfdc_config"
doc:name="Salesforce SFDC config">
<salesforce:basic-connection
username="${salesforce.username}"
password="${salesforce.password}"
securityToken="${salesforce.securityToken}" />
</salesforce:sfdc-config>
<file:config name="File_Config" doc:name="File Config" doc:id="a62aaa19-2bab-4717-8758-ec09caec2a51" >
<file:connection />
</file:config>
<flow name="crud_app_template">
<http:listener config-ref="HTTP_Listener_config"
path="/" doc:name="Listener" />
<parse-template location="form.html" doc:name="Parse Template" />
</flow>
<flow name="create_accountFlow" >
<http:listener config-ref="HTTP_Listener_config"
path="/createAccount" doc:name="Listener" />
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{
Name: payload.Name,
AccountNumber: payload.AccountNumber,
BillingCity: payload.BillingCity
}]]]></ee:set-payload>
</ee:message>
</ee:transform>
<salesforce:create doc:name="Create" type="Account"
config-ref="Salesforce_Sfdc_config"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
id:$.id,
errors:$.errors,
success:$.success
}]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
<flow name="query_accountFlow" >
<salesforce:new-object-listener objectType="Account" doc:name="On New Object" doc:id="8b5dec5e-31a2-4b78-9188-b681891898be" config-ref="Salesforce_Sfdc_config">
<scheduling-strategy >
<fixed-frequency />
</scheduling-strategy>
</salesforce:new-object-listener>
<salesforce:query-result-list doc:name="Query result list" doc:id="79da7485-339c-4ab6-956a-0684210b2ded" config-ref="Salesforce_Sfdc_config"/>
<salesforce:query-result-stream-by-id doc:name="Query result stream by id" doc:id="bdf16fc8-017f-439b-b1fc-3bff23d881d8" config-ref="Salesforce_Sfdc_config"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
AccountNumber:$.AccountNumber,
BillingAddress:$.BillingAddress,
Id:$.Id,
Name:$.Name
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<file:write doc:name="Write" doc:id="83f39edd-bc18-4738-92c0-d3c427108ac4" config-ref="File_Config" path="/account"/>
</flow>
</mule>
xml
この例は、Salesforce Connector を使用して更新/挿入を実行するために必要なオブジェクトリレーション構造を Salesforce 内に作成する方法を示しています。
Salesforce オブジェクトは、オブジェクト間で標準リレーションまたはカスタムリレーションを持つことができます。通常、オブジェクト間リレーションは一対多の (親-子) リレーションですが、Salesforce に存在する 2 つのオブジェクトをどのような形でも結び付けることができます。
この例では親-子リレーションを持つ 2 つのカスタム Salesforce オブジェクト種別を使用しています。
Plane__c
: Salesforce に存在する必要がある親オブジェクト
Component__c
: Salesforce Connector を使用して更新/挿入するオブジェクト
2 つのカスタムオブジェクト間のリレーションは Plane__r
項目で表されます。この項目の値は、2 つの項目を含むオブジェクトです。
参照先のオブジェクト種別の名前を値として持つ type
項目。
この例では、type
の値は Plane_c
です。
参照する親オブジェクトのインスタンスを識別する項目。
この例では、Name
項目は Plane__c
の Cobra
インスタンスを参照します。
Component__c
を更新/挿入すると、Salesforce Connector に入力として送信される POJO は次のようになります。
---- [{ // Component__c's fields ... Plane__r: { "type": "Plane__c", "Name": "Cobra" } }] ----
linenums
このフローを作成するには、Listener コンポーネント、Transform Message コンポーネント、Upsert 操作、2 つ目の Transform Message コンポーネントを設定する必要があります。
/
パスへのコールが行われたときに Mule フローを開始するように Listener コンポーネントを設定します。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューから、[HTTP] を選択して [Listener] コンポーネントをキャンバスにドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
プロパティウィンドウで、[Path (パス)] 項目値を /
に設定します。
HTTP 入力フォームの値を Java 形式に変換して Upsert 操作への入力として使用できるようにする最初の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Listener] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/java
---
[{
Name: "NewPlaneComponent",
Plane__r: {
"type": "Plane__c",
"Name": "Cobra"
}
}]
dataweave
親-子リレーション内にある Salesforce オブジェクトを作成または更新する Upsert 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Upsert] 操作を [Transform Message] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Upsert 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Object type (オブジェクト種別) |
|
External id field name (外部 ID 項目名) |
|
Records (レコード) |
|
次の画像は、プロパティウィンドウでの Upsert 設定の例を示しています。
値を Java 形式から JSON 形式に変換する 2 つ目の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Upsert] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/json
---
payload
dataweave
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd">
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="4c035a4e-77bc-4deb-ba9e-9cb2a7ba3c44" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<salesforce:sfdc-config name="Salesforce_Config" doc:name="Salesforce Config" doc:id="936529ce-271b-49ac-be36-ca6a2b3d62ea" >
<salesforce:basic-connection username="user" password="pass" securityToken="token" />
</salesforce:sfdc-config>
<flow name="Copy_of_idp-policy-benefitsFlow" doc:id="44a544bf-f94e-4d3d-827d-0882f4771df5" >
<http:listener doc:name="Listener" doc:id="39aed35b-0147-49f1-a258-26f0cabc854b" config-ref="HTTP_Listener_config" path="/" />
<ee:transform doc:name="Transform Message" doc:id="82fe7e7d-43f3-433a-bc08-6a0ffb78275e" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{
Name: "NewPlaneComponent",
Plane__r: {
"type": "Plane__c",
"Name": "Cobra"
}
}]]]></ee:set-payload>
</ee:message>
</ee:transform>
<salesforce:upsert objectType="Component__c" doc:name="Upsert" doc:id="0c3ca1fa-8ea1-4a99-b9b8-68f9db14d99f" config-ref="Salesforce_Config" externalIdFieldName="Id"/>
<ee:transform doc:name="Transform Message" doc:id="e98409ad-e6cc-4d33-872a-f5e11cf7b869" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>
xml
次の例は、Salesforce Connector を使用して Salesforce 取引先を削除する方法を示しています。
このフローを作成するには、Listener コンポーネント、Transform Message コンポーネント、Delete 操作、2 つ目の Transform Message コンポーネントを設定する必要があります。
/
パスへのコールが行われたときに Mule フローを開始するように Listener コンポーネントを設定します。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューから、[HTTP] を選択して [Listener] コンポーネントをキャンバスにドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
プロパティウィンドウで、[Path (パス)] 項目値を /
に設定します。
HTTP 入力フォームの値を Java 形式に変換して Delete 操作への入力として使用できるようにする最初の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Listener] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/java
---
[payload.Id]
dataweave
Salesforce 取引先を削除する Delete 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Delete] 操作を [Transform Message] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Delete 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Records to Delete Ids (削除するレコードの ID) |
|
次の画像は、プロパティウィンドウでの Delete 設定の例を示しています。
値を Java 形式から JSON 形式に変換する 2 つ目の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Delete] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/json
---
payload map {
id:$.id,
errors:$.errors,
success:$.success
}
dataweave
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
<configuration-properties file="mule-app.properties"/>
<http:listener-config name="HTTP_Listener_config"
doc:name="HTTP Listener config" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<salesforce:sfdc-config name="Salesforce_Sfdc_config"
doc:name="Salesforce SFDC config">
<salesforce:basic-connection
username="${salesforce.username}"
password="${salesforce.password}"
securityToken="${salesforce.securityToken}" />
</salesforce:sfdc-config>
<flow name="delete-account" >
<http:listener doc:name="Listener" doc:id="9744668a-66e4-4d69-8f1d-f3bfbd3e77be" config-ref="HTTP_Listener_config" path="/Delete"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[payload.Id]]]></ee:set-payload>
</ee:message>
</ee:transform>
<salesforce:delete doc:name="Delete" doc:id="e4ad1f41-8409-42b6-ba90-e6a26e60a7ba" config-ref="Salesforce_Sfdc_config"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
id:$.id,
errors:$.errors,
success:$.success
}]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>
xml
次の例は、Salesforce Connector を使用して重複する Salesforce 取引先を検索する方法を示しています。
このフローを作成するには、Listener コンポーネント、Transform Message コンポーネント、Find duplicates 操作、2 つ目の Transform Message コンポーネントを設定する必要があります。
/findDuplicates
パスへのコールが行われたときに Mule フローを開始するように Listener コンポーネントを設定します。
Studio で新しい Mule プロジェクトを作成します。
[Mule Palette (Mule パレット)] ビューから、[HTTP] を選択して [Listener] コンポーネントをキャンバスにドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
デフォルトを受け入れます。
プロパティウィンドウで、[Path (パス)] 項目値を /findDuplicates
に設定します。
HTTP 入力フォームの値を Java 形式に変換して Delete 操作への入力として使用できるようにする最初の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Listener] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/java
---
[
payload
]
dataweave
重複する Salesforce 取引先を検索する Find duplicates 操作を追加します。
[Mule Palette (Mule パレット)] ビューから、[Salesforce] を選択して [Find duplicates] 操作を [Transform Message] の右側にドラッグします。
プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の横にある [+] をクリックしてグローバル要素を追加します。
接続に応じてグローバル要素を設定します。次に例を示します。
項目 | Value (値) |
---|---|
Username (ユーザー名) |
|
Password (パスワード) |
|
Security (セキュリティ) |
|
Authorization URL (認証 URL) |
|
次の画像は、グローバル要素の Find duplicates 設定の例を示しています。
プロパティウィンドウで、次の項目を設定します。
項目 | Value (値) |
---|---|
Display Name (表示名) |
コネクタ操作の名前。 |
Connector configuration (コネクタ設定) |
作成したばかりのグローバル設定。 |
Type (型) |
|
Criteria (条件) |
|
次の画像は、プロパティウィンドウでの Find duplicates 設定の例を示しています。
値を Java 形式から JSON 形式に変換する 2 つ目の Transform Message コンポーネントを追加します。
[Mule Palette (Mule パレット)] ビューから、[Core (コア)] を選択して [Transform Message] コンポーネントを [Find duplicates] の右側にドラッグします。
プロパティウィンドウで、[Output (出力)] セクションの括弧を次の DataWeave コードで上書きします。
%dw 2.0
output application/json
---
{
success: payload.success,
duplicateResults: {
(payload.duplicateResults map {
matchRecords: $.matchResults
}
)
},
duplicateRuleEntityType: payload.duplicateRuleEntityType,
duplicateRule: payload.duplicateRule,
allowSave: payload.allowSave,
errorMessage: payload.errorMessage
}
dataweave
この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/salesforce
http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
<configuration-properties file="mule-app.properties"/>
<http:listener-config name="HTTP_Listener_config"
doc:name="HTTP Listener config" >
<http:listener-connection host="localhost" port="8081" />
</http:listener-config>
<salesforce:sfdc-config name="Salesforce_Sfdc_config"
doc:name="Salesforce SFDC config">
<salesforce:basic-connection
username="${salesforce.username}"
password="${salesforce.password}"
securityToken="${salesforce.securityToken}" />
</salesforce:sfdc-config>
<flow name="find_duplicates_for_account_flow" >
<http:listener config-ref="HTTP_Listener_config"
path="/findDuplicates" doc:name="Listener" />
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[
payload
]]]></ee:set-payload>
</ee:message>
</ee:transform>
<salesforce:find-duplicates config-ref="Salesforce_Sfdc_config"
type="Account"
doc:name="Find duplicates" />
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
success: payload.success,
duplicateResults: {
(payload.duplicateResults map {
matchRecords: $.matchResults
}
)
},
duplicateRuleEntityType: payload.duplicateRuleEntityType,
duplicateRule: payload.duplicateRule,
allowSave: payload.allowSave,
errorMessage: payload.errorMessage
}]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>
xml