Report Identity メッセージ・フローの作成

Security Identity Propagation サンプルの SecurityIdentityReportFlow メッセージ・フローが提供されていますが、メッセージ・フローを独自に作成したい場合には、以下の手順を使用します。

  1. SecurityIdentitySampleFlowProject という名のメッセージ・ブローカー・プロジェクト中に、SecurityIdentityReportFlow という新規メッセージ・フローを作成します。 手順については、WebSphere Message Broker 資料の メッセージ・フローの作成を参照してください。
  2. メッセージ・フロー・エディターで、次の表にリストされているノードを追加して名前変更します。 手順については、WebSphere Message Broker 資料の ノードの追加を参照してください。
    パレット・ドロワー ノード・タイプ ノード名
    HTTP HTTPInput HTTP_ReportIdentity
    Transformation Compute Report Identity
    HTTP HTTPReply HTTP_ReportIdentity Reply
  3. 上の表にリストされている順に、ノードを接続します。 手順については、WebSphere Message Broker 資料の ノードの接続を参照してください。
    ノードが正しく接続されたかどうかを確認するには、Security Propagation サンプルについてのダイアグラムを参照してください。
  4. 次の表に示されているように、ノードのプロパティーを構成します。 この表に代替値が示されていなければ、すべてのプロパティーに関してデフォルト値を受け入れます。
    手順については、WebSphere Message Broker 資料の メッセージ・フロー・ノードの構成を参照してください。
    ノード名 ページ プロパティー
    HTTP_ReportIdentity 基本 パス接尾部 /Security/Identity/ReportIdentity
    入力メッセージ構文解析 メッセージ・ドメイン XMLNSC
  5. メッセージ・フロー・エディターで、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;
              
  6. メッセージ・フローを保存します。

「Security Identity Propagation サンプルの作成」に戻る

サンプルのホームに戻る