電子メール・アドレスと電話番号を動的に選択する方法
特定のプロセス変数に基づいて動的に電子メール・アドレスまたは電話番号を設定できます。また、アイデンティティ・サービス用の組込みXPath関数を使用して、特定ユーザーの連絡先情報をルックアップすることも可能です。
-
電子メール・アドレスまたは電話番号をペイロードから直接取得するには、次のXPath式を使用します。
bpws:getVariableData('<variable name>', '<part>','input_xpath_to_get_an_address')
たとえば、XPath
/client/BPELProcessRequest/client/mail
に基づいて変数inputVariable
およびパートpayload
から電子メール・アドレスを取得するには、次のようにします。<%bpws:getVariableData('inputVariable','payload','/client:BPELProcessRequest/ client:email')%>
XPath式ビルダーを使用して関数を選択し、入力変数からアドレスを取得するXPath式を入力できます。
-
電子メール・アドレスまたは電話番号を、基礎となるアイデンティティ・ストア(LDAP)から動的に取得するには、次のXPath式を使用します。
ids:getUserProperty(userName, attributeName[, realmName])
最初の引数は、ユーザーIDに評価されます。2番目の引数はプロパティ名です。3番目の引数はレルム名です。表17-6に、このXPath関数で使用できるプロパティ名を示します。
表17-6 動的ユーザーXPath関数のプロパティ
プロパティ名 説明 mail
ユーザーの電子メール・アドレスのルックアップ。
telephoneNumber
ユーザーの電話番号のルックアップ。
mobile
ユーザーの携帯電話番号のルックアップ。
homephone
ユーザーの自宅電話番号のルックアップ。
次の例では、変数
inputVariable
、パートpayload
および問合せ/client:BPELProcessRequest/client:userID
で識別されるユーザーの電子メール・アドレスを取得します。ids:getUserProperty(bpws:getVariableData(‘inputVariable', ‘payload',‘/client:BPELProcessRequest/client:userid'), ‘mail')
realmName
が未指定の場合は、デフォルトのレルム名が使用されます。たとえば、デフォルトのレルム名がjazn.com
の場合、次のXPath式ではjazn.com
レルム内でユーザーが検索されます。ids:getUserProperty('jcooper', 'mail');
次のXPath式は、前述の式と同じ機能を提供します。ただし、この場合はレルム名
jazn.com
が明示的に指定されています。ids:getUserProperty('jcooper', 'mail', 'jazn.com');