XML文字列のユーザ定義属性への割り当てについて説明します。
前提条件は以下です。
プロセス定義に、XML文字列を格納できるUDAがある。
[UDAにXMLを割当て]Java Actionを使用して、XML文字列を生成し、ユーザ定義属性の値として割り当てることができます。このJava Actionは通常、[XPath式からUDAを割当て]Java Actionと共に使用します。これらの構成要素からなるシステムが、Systemwalker Runbook Automationの外部にあるシステムへのデータ転送インターフェースを形成します。
XML文字列をUDAの値として格納する方法について説明します。
[プロパティ]ビューを表示するために、プロセス定義エディタ内の空のスペースをクリック、または、Java Actionを設定するノードを選択します。
[アクションセット]タブを選択します。Java Actionを追加する場所を選択し、[追加]をクリックします。[アクションタイプリスト]ダイアログが表示されます。
[XMLアクション]を展開し、[UDAにXMLを割当て]をダブルクリックします。
[UDAにXMLを割当て]ダイアログで、追加するJava Actionのアクション名とノートを入力します。
[ターゲットUDA]フィールドから、入力されたXML文字列を格納するUDAを選択します。
ドロップダウンリストではSTRING型とXML型のUDAのみ表示されます。
[値]フィールドに、XML文字列を入力します。
図11.24 XML文字列のUDAへの割り当て
上の例では、アクション名を顧客情報として定義します。[値]フィールドのXML文字列をターゲットUDA CustomerDetailsに格納します。
XML文字列では、UDAやJavaScript式を指定する以下のタグを使用できます。
{{Field <UDAName>}}
このタグは、UDAの値で置き換えられます。値はXMLエンコードされます。XMLエンコードを行うと、XMLで特別な意味をもつ文字が変換されます。これらの文字は、小なり記号(<)、大なり記号(>)、アンパサンド(&)、および二重引用符(")です。XMLエンコードによって、これらの文字がそれぞれ<、>、&、および"に変換されます。
{{Xml <UDAName>}}
このタグは、UDAの値で置き換えられます。値はXMLエンコードされません。
値をそのまま渡すXMLの断片の場合は、このタグを使用します。
{{Js <JavaScriptExpression>}}
JavaScript式が評価され、このタグはその評価結果で置き換えられます。評価結果はXMLエンコードされます。
{{JsXml <JavaScriptExpression>}}
JavaScript式が評価され、このタグはその評価結果で置き換えられます。評価結果はXMLエンコードされません。 そのままで渡すXMLの断片がJavaScript式に含まれている場合は、このタグを使用します。
[OK]をクリックします。
注意
補償アクションを使用してこのアクションを補償する必要はありません。このアクションによって実行された変更は、Systemwalker Runbook Automation内に限定されており、プロセスインスタンスがエラー状態になった後ロールバックされるからです。補償アクションの詳細については、“11.1.7 Java Actionのエラー処理”を参照してください。