Report Identity メッセージ・フローの作成
Security Identity Propagation サンプルの SecurityIdentityReportFlow メッセージ・フローが提供されていますが、メッセージ・フローを独自に作成したい場合には、以下の手順を使用します。
- SecurityIdentitySampleFlowProject という名のメッセージ・ブローカー・プロジェクト中に、SecurityIdentityReportFlow という新規メッセージ・フローを作成します。 手順については、WebSphere Message Broker 資料の
メッセージ・フローの作成を参照してください。
- メッセージ・フロー・エディターで、次の表にリストされているノードを追加して名前変更します。
手順については、WebSphere Message Broker 資料の
ノードの追加を参照してください。
パレット・ドロワー |
ノード・タイプ |
ノード名 |
HTTP |
HTTPInput |
HTTP_ReportIdentity |
Transformation |
Compute |
Report Identity |
HTTP |
HTTPReply |
HTTP_ReportIdentity Reply |
- 上の表にリストされている順に、ノードを接続します。 手順については、WebSphere Message Broker 資料の
ノードの接続を参照してください。
ノードが正しく接続されたかどうかを確認するには、Security Propagation サンプルについてのダイアグラムを参照してください。
- 次の表に示されているように、ノードのプロパティーを構成します。
この表に代替値が示されていなければ、すべてのプロパティーに関してデフォルト値を受け入れます。
手順については、WebSphere Message Broker 資料の
メッセージ・フロー・ノードの構成を参照してください。
ノード名 |
ページ |
プロパティー |
値 |
HTTP_ReportIdentity |
基本 |
パス接尾部 |
/Security/Identity/ReportIdentity |
入力メッセージ構文解析 |
メッセージ・ドメイン |
XMLNSC |
- メッセージ・フロー・エディターで、Report Identity という名前の Compute ノードをダブルクリックして、ESQL エディターを開いてください。以下の ESQL コード・モジュールを ESQL ファイルにコピー、および貼り付けし、次いでファイルを保存します。詳しくは、WebSphere Message Broker 資料の ESQL の開発を参照してください。
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyEntireMessage();
-- Optionally Report the Incomming Identity Source
DECLARE OurMsgRef REFERENCE TO OutputRoot.XMLNSC.Envelope.Body;
IF lastmove(OurMsgRef) THEN
CREATE LASTCHILD OF OurMsgRef NAME 'PropagatedIdentityReport';
MOVE OurMsgRef LASTCHILD;
CREATE LASTCHILD OF OurMsgRef NAME 'Type' VALUE InputRoot.Properties.IdentitySourceType;
CREATE LASTCHILD OF OurMsgRef NAME 'Token' VALUE InputRoot.Properties.IdentitySourceToken;
CREATE LASTCHILD OF OurMsgRef NAME 'Password' VALUE InputRoot.Properties.IdentitySourcePassword;
CREATE LASTCHILD OF OurMsgRef NAME 'IssuedBy' VALUE InputRoot.Properties.IdentitySourceIssuedBy;
END IF;
-- Output is MQ, so delete HTTP headers from tree
SET OutputRoot.HTTPInputHeader = NULL;
-- For clarrity remove "MessageIdentity" from tree if present
SET OutputRoot.XMLNSC.Envelope.Body.MessageIdentity = NULL;
RETURN TRUE;
END;
- メッセージ・フローを保存します。
「Security Identity Propagation サンプルの作成」に戻る
サンプルのホームに戻る