CSV、JSON、または XML 形式の新しい [Source at Host (ホストの送信元)] または [Receive from Partners (パートナーから受信)] メッセージ種別を作成する場合、そのメッセージ種別を DataWeave リファレンスマップに関連付ける必要があります。これは、EDFIACT または X12 形式の [Receive from Partners (パートナーから受信)] メッセージ種別では省略可能です。リファレンスマップには、実行時にメッセージペイロードから抽出されるカスタムメッセージ属性を含めることができます。抽出された属性はペイロードに表示され、検索や追跡で使用できます。
メッセージ種別の定義にアップロードされたスキーマが含まれている場合、リファレンスマップの入力はそのスキーマに準拠するペイロードです。
リファレンスマップの出力には次の項目が含まれます。
項目 |
説明 |
必須または省略可能 |
partnerReferenceId |
パートナーを一意に識別する識別子 |
必須:
この値は、データ処理とルーティングのニーズに応じて静的値としてハードコード化できます。 |
hostReferenceId |
ホストを一意に識別する識別子 |
この値は、データ処理とルーティングのニーズに応じて静的値としてハードコード化できます。 |
businessDocumentKey。 |
キーリファレンス値 (例: |
省略可能 |
customAttributes |
ペイロードから抽出するカスタムメッセージ属性の配列。特定の環境では、最大 100 件のカスタムメッセージ属性を指定でき、そのうち最大 25 件を検索可能にできます。
|
省略可能 |
リファレンスマップの出力は、次の検証スキーマに準拠している必要があります。
%dw 2.0
output application/json
---
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Root",
"type": "object",
"properties": {
"partnerReferenceId": {
"type": "string",
"default": "",
"pattern": "^.*$"
},
"hostReferenceId": {
"type": ["string", "null"],
"default": "",
"pattern": "^.*$"
},
"businessDocumentKey": {
"type": ["string", "null"],
"default": "",
"pattern": "^.*$"
},
"customAttributes": {
"type": "array",
"default": [],
"items":{
"type": "object",
"required": [
"alias",
"values"
],
"properties": {
"alias": {
"type": "string",
"default": "",
"pattern": "^.*$"
},
"values": {
"type": "array",
"default": [],
"items":{
"type": "string",
"default": "",
"pattern": "^.*$"
}
}
}
}
}
}
}
リファレンスマップの出力が検証スキーマに準拠していないと、カスタムメッセージ属性は Partner Manager GUI に表示されません。次の Exchange の例に示すように、X12 EDI 用 Anypoint Connector (X12 Connector) の Validate schema 操作を MuleSoft アプリケーションに追加することで、リファレンスマップの出力が検証スキーマに準拠していることを保証できます。
リファレンスマップを作成する場合、それらのマップ内で他のソースメッセージ属性にアクセスできます。詳細は、「ソースメッセージ属性へのアクセス」^を参照してください。
[Receive from Partners (パートナーから受信)] メッセージ種別のマップ例
次のマップは、パートナーのインバウンド X12 ペイロードを変換します。このマップには、ビジネスドキュメントキーと 2 つのカスタムメッセージ属性が含まれています。
-
ビジネスドキュメントキーの値は
payload.TransactionSets.v004010."855".Heading."020_BAK".BAK03[0] です。 -
purchaseOrderNumber カスタムメッセージ属性の値は payload.TransactionSets.v004010."855".Heading."020_BAK".BAK03[0] です。 -
vendorSalesOrderNumber カスタムメッセージ属性の値は payload.TransactionSets.v004010."855".Heading."020_BAK".BAK08[0] です。
マップへの入力は次のようになります。
%dw 2.0
output application/json
{
businessDocumentKey: payload.TransactionSets.v004010."855".Heading."020_BAK".BAK03[0] default "",
customAttributes: [
{
alias: "purchaseOrderNumber",
values: [payload.TransactionSets.v004010."855".Heading."020_BAK".BAK03[0]]
},
{
alias: "vendorSalesOrderNumber",
values: [payload.TransactionSets.v004010."855".Heading."020_BAK".BAK08[0]]
}
]
}
生成されるマップの出力は次のようになります。
{
"businessDocumentKey": "ORDER-70010",
"customAttributes": [
{
"alias": "purchaseOrderNumber",
"values": [
"ORDER-70010"
]
},
{
"alias": "vendorSalesOrderNumber",
"values": [
"SO-5100803142"
]
}
]
}
[Source at Host (ホストの送信元)] メッセージ種別のマップ例
次のマップは、バックエンドからのアウトバウンド JSON または XML ペイロードを変換します。マップには、パートナーリファレンス Id、ホストリファレンス ID、ビジネスドキュメントキー、3 つのカスタム属性が含まれます。
-
パートナーリファレンス ID の値は
payload.Header.CustomerName です。 -
ホストリファレンス ID の値は
payload.Invoice.Header.LineOfBusiness です。 -
ビジネスドキュメントキーの値は
payload.Invoice.Header.InvoiceNumber です。 -
invoiceNumber カスタム属性の値は payload.Invoice.Header.InvoiceNumber です。 -
purchaseOrderNumber カスタムメッセージ属性の値は payload.Invoice.Header.PurchaseOrderNumber です。 -
invoiceAmount カスタムメッセージ属性の値は payload.Invoice.Header.TotalInvoiceAmt です。
マップへの入力は次のようになります。
%dw 2.0
output application/json
---
{
partnerReferenceId: payload.Invoice.Header.CustomerName,
hostReferenceId: payload.Invoice.Header.LineOfBusiness default "MYTHICAL",
businessDocumentKey: payload.Invoice.Header.InvoiceNumber,
customAttributes: [
{
alias: "invoiceNumber",
values: [payload.Invoice.Header.InvoiceNumber default "UNKNOWN"]
},
{
alias: "purchaseOrderNumber",
values: [payload.Invoice.Header.PurchaseOrderNumber default "UNKNOWN"]
},
{
alias: "invoiceAmount",
values: [ "\$ " ++ payload.Invoice.Header.TotalInvoiceAmt default "UNKNOWN"]
}
]
}
生成されるマップの出力は次のようになります。
{
"partnerReferenceId": "ALPHA-CAN",
"hostReferenceId": "Mythical-MG",
"businessDocumentKey": "INV97750061",
"customAttributes": [
{
"alias": "invoiceNumber",
"values": [
"INV97750061"
]
},
{
"alias": "purchaseOrderNumber",
"values": [
"ORD3893988"
]
},
{
"alias": "invoiceAmount",
"values": [
"$ 3756.24"
]
}
]
}