メインコンテンツにスキップ
Administrator Guide
最終更新: 2023-06-23
参考: Studio ヘルパー オブジェクト

参考: Studio ヘルパー オブジェクト

Studio には、インテグレーションの実行時プロパティに MVEL を使用してアクセスすることを可能にする多数のヘルパー オブジェクトが用意されています。ヘルパー オブジェクトを使用すると、実行時の値に簡単な変更を加えたり、実行時の値を抽出してアセンブリ内のコンポーネントに渡したりできます。
ヘルパー オブジェクト
使用目的
context
次へのアクセスを許可します:
MediationContext
オブジェクト - つまり、実行時のインテグレーションの動的状態にマッピングされます。次の基準
MediationContext
現在のメッセージ、メディアのプロパティ、メディアの変数、現在のエラー情報へのオブジェクト リンク。
例: この式は "" プロパティの値を取得します
myProperty
次の行から
MediationContext
:
context.getProperty('myProperty')
例: この式は "" プロパティを取得します
someProperty
次の行から
MediationContext
(プロパティ値が次のように設定されている場合)
someValue
:
context.getProperty('someProperty').equals('someValue')
da
"ドキュメント アクセシビリティ" ヘルプ オブジェクト。このインテグレーションの実行前にインテグレーション イベントに添付されていたドキュメントのリストへのアクセスを許可します。効果的に "Get Event Documents" Web サービス呼び出しと、Web サービス応答で参照されたドキュメントの取得を組み合わせます。
次の基準
da
ヘルプ オブジェクトには以下の制限があります。
  • 予期しない数の添付ファイルが使用可能である場合を処理するロジックを明示的に含める必要があります。
  • 添付ファイルのファイル タイプにはアクセスできない。
  • 添付ファイルの文字エンコーディングにはアクセスできない。
"doc-iterator"
ルーター ストラテジーは、予期しない数の添付ファイルを自動的に処理し、MIME タイプと文字エンコーディングの両方にアクセスできます。多くの場合、インテグレーションでは、このヘルプ オブジェクトではなく、このストラテジーを使用して入力ドキュメントを取得する方が適切です。
例: この式では、ファイル名が
「eib_transform_output.txt
」のインテグレーション イベントからドキュメントを取得し、次の変数を追加します:
var1
:
da.toVar('eib_transform_output.txt', 'var1')
例: この式は、指定されたラベルが付いたドキュメントを取得します。
da.getDocsMatching('label')
ftp
ftp、ftps、または sftp サーバーに対して LIST リクエストを発行する際に返されるファイルのリストへのアクセスを提供します。
例: 次の式は、URL のファイルのリストを取得します。
ftp.list('URL')
intsys
"Get Integration Systems" Web サービス呼び出しによって返される、インテグレーション システム設定への便利で高パフォーマンスなアクセスを提供します。
例: この式は、"" という名前のインテグレーション特性を取得します
username
:
intsys.getAttribute('username')
例: 指定された名前を持つインテグレーション サービスが存在する場合、この式は真として表示されます。
intsys.isServiceEnabled('name')
使用する組織
intsys
特性にアクセスするには、最初に "" に対してサービスを定義する必要があります。
workday-in
インテグレーション システムのトランスポート。
lp
インテグレーション開始イベントの開始パラメータおよびその他の情報へのアクセスを許可します。
例: この式は、指定された名前を持つ開始パラメータの値を取得します。
lp.getSimpleData('name')
例: 指定されたラベルを持つパラメータが存在する場合、この式は真として表示されます。
lp.exists('label') == true
"" を使用する前に
lp
変数、開始パラメータ XML を変数に割り当てる必要があります
wd.launchparameters
message
現在のメッセージとヘッダー情報へのアクセスを提供します。このオブジェクトを使用して、メッセージに新しい内容を割り当てます。
例: この式は、"" メッセージのルート部分をテキストとして取得します
MediationMessage
インターフェイス:
message.rootPartAsText
例: この式は取得します
MediationContext
変数:
message.variables
mtable
次へのアクセスを許可します:
MTableAdapter
インターフェイス。
mtable
インスタンス
例: この式は "" にデータを設定します
mtable
:
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
現在のメッセージの個々の部分へのアクセスを許可します。Workday インテグレーションのほとんどのメッセージには、ルート部分という単一の部分があります。用途
parts[0]
をクリックしてルート部分にアクセスします。
例: この式はヘッダーを取得します
someHeader
ルート部分から:
parts[0].getHeader('someHeader')
例: この式は "" を実装します
xpathB
XPath ブール式を評価する方法
parts[0].xpathB('/a/b')
props
次へのアクセスを許可します
MediationContext
プロパティ。
例: この式は "" プロパティの値を取得します
myProperty
次の行から
MediationContext
:
props.myProperty
例: この式は "" プロパティの値を取得します
bean.property
次の行から
MediationContext
:
props['bean.property']
spring
集合の "SP" 設定で定義された作成および取得のためのアクセス権を付与します。
例: この式は "" を取得します
name
この名前が付けられた 不要なデータの特性
Fred
春のコンテキスト:
spring.getBean('fred').name
例: この式は、春のアプリケーション コンテキストにアクセスします。
spring.parent ApplicationContext
util
XML への挿入のための値のエスケープや HTTPS URL の作成など、一般的な操作を実行するためのユーティリティ機能のセット。
例: この式は、"" 内の現在のメッセージかどうかを確認します。
MediationContext
は、分割コンポーネントが生成する最後のメッセージです:
props['is.last.record'] = util.isLastMessageInBatch()
一部
util
関数には重大な制限があります。例: the
xpathToCommaDelimString
は、特定の XML 文字列上で演算される XPath 式によって返されるノード シーケンスの文字列値から、カンマ区切りのリストを生成します。次に、MVE の Java 文字列操作関数を使用して、カンマ区切りリストを分割および操作できます。ただし、この関数には以下の制限があります。
  • XPath 1 のみがサポートされています。
  • 改行、カンマ、引用符が正しくエスケープされないため、CSV ファイルを生成できない。
  • カンマを含むデータを確実に区切ることができない。
  • XML を文字列として使用するという要件により、現在のコンテキスト メッセージや変数を文字列に変換するといった、スケーラブルでない実務に推奨される。
安全性と下位互換性のために、明示的なバージョン指定された Web サービス リクエストを使用することを強くお勧めします。用途
MVELUtilHelper.getLatestWWSVersion()
での インテグレーションはベスト プラクティスではなく、インテグレーションで予期しない失敗や結果が生じる可能性があります。
vars
次へのアクセスを許可します
MediationContext
変数
例: この式は変数 "" の長さを取得します
myVariable
:
vars['myVariable'].length
例: この式は変数 "" の長さを取得します
myVariable
:
vars['myVariable'].length
xmldiff
xmldiff
コンポーネントとのドキュメント比較の結果へのプログラムによるアクセスを提供します。
例: この式は、2 つのドキュメント間に差異があるかどうかを確認します。
xmldiff.isDifferent() == true
例: この式は、以下の 2 つのドキュメント間の差異リストを取得します。
xmldiff.changes