ファイル転送ログ・メッセージ・フォーマット

ファイル転送ログ・メッセージは、SYSTEM.FTE トピックに、Log/agent_name/transfer_ID というトピック・ストリングでパブリッシュされます。 これらのメッセージは、Managed File Transfer インストール済み環境の MQ_INSTALLATION_PATH/mqft/samples/schema ディレクトリーにある TransferLog.xsd スキーマに準拠しています。

ファイル転送をモニターしたり、それに関するデータを収集したりする場合は、対象となる転送に合わせて調整されたワイルドカード・トピックのサブスクリプションをセットアップします。 以下に例を示します。
Log/# 
または、
Log/FTEAGENT/# 
このサブスクリプションは、永続または非永続のどちらにもできます。 永続サブスクリプションは、キュー・マネージャーへのサブスクライブ・アプリケーションの接続が閉じられても存続します。 非永続サブスクリプションは、サブスクライブ・アプリケーションのキュー・マネージャーへの接続が開いている間だけ存在します。

スキーマ

次のスキーマは、転送ログ XML メッセージ内で有効なエレメントについて示します。

<xsd:schema xmlns:xsd="https://www.w3.org/2001/XMLSchema">

    <xsd:include schemaLocation="fteutils.xsd"/>
 
    <xsd:element name="transaction">         
        <xsd:complexType>         	
            <xsd:sequence>         	    
                <xsd:element name="action"                type="actionType"          
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="sourceAgent"           type="agentExitStatusType"
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="sourceWebGateway"      type="webGatewayType"      
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="sourceWebUser"         type="webUserType"         
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="destinationAgent"      type="agentExitStatusType" 
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="destinationWebGateway" type="webGatewayType"         
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="destinationWebUser"    type="webUserType"         
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="agent"                 type="agentExitStatusType" 
                             maxOccurs="1"                minOccurs="0"/> 	        	
                <xsd:element name="originator"            type="origRequestType"     
                             maxOccurs="1"                minOccurs="1"/>         		
                <xsd:element name="status"                type="statusType"          
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="trigger"               type="triggerType"         
                             maxOccurs="1"                minOccurs="0" />         		
                <xsd:element name="transferSet"           type="transferSetType"     
                             maxOccurs="1"                minOccurs="1"/>         		
                <xsd:element name="job"                   type="jobType"             
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="scheduleLog"           type="scheduleLogType"     
                             maxOccurs="1"                minOccurs="0"/>         		
                <xsd:element name="statistics"            type="statisticsType"     
                             maxOccurs="1"                minOccurs="0"/>         	
            </xsd:sequence>         	
            <xsd:attribute name="version"   type="versionType"   	use="required"/> 			
            <xsd:attribute name="ID"        type="IDType"	    	use="required"/> 			
            <xsd:attribute name="relatedID" type="IDType"	    	use="optional"/> 			
            <xsd:attribute name="agentRole" type="agentRoleType"	use="optional"/>         
        </xsd:complexType>     
    </xsd:element>         

    <xsd:complexType name="agentExitStatusType">     	
        <xsd:complexContent> 			
            <xsd:extension base="agentType"> 				
                <xsd:sequence> 					
                    <xsd:element name="startExits" type="exitGroupType" minOccurs="0" maxOccurs="1"/> 					
                    <xsd:element name="endExits"   type="exitGroupType" minOccurs="0" maxOccurs="1"/> 					
                    <xsd:element name="systemInfo" type="systemInfoType" minOccurs="0" maxOccurs="1"/> 				
                </xsd:sequence> 	    	
            </xsd:extension>     	
        </xsd:complexContent>     
    </xsd:complexType>            

    <xsd:complexType name="transferSetType"> 		
        <xsd:sequence> 			
            <xsd:element name="metaDataSet"          type="metaDataSetType" 
                         maxOccurs="1"               minOccurs="0" /> 			
            <xsd:element name="call"                 type="callGroupType" 
                         maxOccurs="1"               minOccurs="0"/> 			
            <xsd:element name="preSourceCall"        type="callGroupType" 
                         maxOccurs="1"               minOccurs="0"/> 			
            <xsd:element name="postSourceCall"       type="callGroupType" 
                         maxOccurs="1"               minOccurs="0"/> 			
            <xsd:element name="preDestinationCall"   type="callGroupType" 
                         maxOccurs="1"               minOccurs="0"/> 			
            <xsd:element name="postDestinationCall"  type="callGroupType" 
                         maxOccurs="1"               minOccurs="0"/>             
            <xsd:element name="item"                 type="itemType" 
                         maxOccurs="unbounded"       minOccurs="0"/> 		
        </xsd:sequence> 		
        <xsd:attribute name="index"     type="xsd:nonNegativeInteger" use="optional" /> 		
        <xsd:attribute name="size"      type="xsd:nonNegativeInteger" use="optional" /> 		
        <xsd:attribute name="startTime" type="xsd:dateTime"           use="required" /> 		
        <xsd:attribute name="total"     type="xsd:nonNegativeInteger" use="required" /> 		
        <xsd:attribute name="bytesSent" type="xsd:nonNegativeInteger" use="required" />     
    </xsd:complexType>        

    <xsd:complexType name="itemType"> 		
        <xsd:sequence> 			
            <xsd:element name="source"      type="fileSourceChecksumType"		
                         maxOccurs="1"      minOccurs="1" /> 			
            <xsd:element name="destination" type="fileDestinationChecksumType"	
                         maxOccurs="1"      minOccurs="1" /> 			
            <xsd:element name="status"      type="statusType"       			
                         maxOccurs="1"      minOccurs="1" /> 		
        </xsd:sequence> 		
        <xsd:attribute name="mode" type="modeType" use="required" /> 	
    </xsd:complexType> 	 	   

    <xsd:complexType name="fileSourceChecksumType">     	
        <xsd:complexContent> 			
            <xsd:extension base="fileSourceType"> 				
                <xsd:sequence> 					
                    <xsd:element name="checksum" type="checksumType" minOccurs="0" maxOccurs="1"/> 				
                </xsd:sequence> 	    
            </xsd:extension>     	
        </xsd:complexContent>     
    </xsd:complexType>	      

    <xsd:complexType name="fileDestinationChecksumType">     	
        <xsd:complexContent> 			
            <xsd:extension base="fileDestinationType"> 				
                <xsd:sequence> 					
                    <xsd:element name="checksum" type="checksumType" 
                                 minOccurs="0"   maxOccurs="1"/> 				
                </xsd:sequence> 	    	
            </xsd:extension>     	
        </xsd:complexContent>     
    </xsd:complexType>	        

    <xsd:complexType name="actionType">         
        <xsd:simpleContent>     		
            <xsd:extension base="actionEnumType">         		
                <xsd:attribute name="time" type="xsd:dateTime" use="required" />         
            </xsd:extension>         
        </xsd:simpleContent>     
    </xsd:complexType>   

    <xsd:simpleType name="actionEnumType">     	
        <xsd:restriction base="xsd:token">     		
            <xsd:enumeration value="cancelled"/>     		
            <xsd:enumeration value="started"/>     		
            <xsd:enumeration value="progress"/>     		
            <xsd:enumeration value="completed"/>     		
            <xsd:enumeration value="malformed"/>     		
            <xsd:enumeration value="notAuthorized"/>     		
            <xsd:enumeration value="deleted"/>        	
        </xsd:restriction>     
    </xsd:simpleType>           

    <xsd:complexType name="systemInfoType">         
        <xsd:attribute name="architecture" type="xsd:string" use="required"/>         
        <xsd:attribute name="name"         type="xsd:string" use="required"/>         
        <xsd:attribute name="version"      type="xsd:string" use="required"/>     
    </xsd:complexType>          

    <xsd:element name="malformed">         
        <xsd:complexType>
            <xsd:sequence>         	    
                <xsd:element name="action"  type="actionType" 
                             maxOccurs="1"  minOccurs="1"/> 				
                <xsd:element name="agent"   type="agentExitStatusType"
                             maxOccurs="1"  minOccurs="0"/>         		
                <xsd:element name="status"  type="statusType" 
                             maxOccurs="1"  minOccurs="1"/>         	
            </xsd:sequence>         	
            <xsd:attribute name="version"   type="versionType"     use="required"/> 			
            <xsd:attribute name="ID"        type="IDType"          use="required"/> 			
            <xsd:attribute name="agentRole" type="agentRoleType"   use="required"/>         
        </xsd:complexType>     
    </xsd:element>         

    <xsd:element name="notAuthorized">         
        <xsd:complexType>         	
            <xsd:sequence>         	    
                <xsd:element name="action"      type="actionType" 
                             maxOccurs="1"      minOccurs="1"/>         	    
                <xsd:element name="originator"  type="origRequestType" 
                             maxOccurs="1"      minOccurs="1"/>         	    
                <xsd:element name="authority"   type="xsd:string" 
                             minOccurs="1"      maxOccurs="1"/>         		
                <xsd:element name="status"      type="statusType" 
                             maxOccurs="1"      minOccurs="1"/>         	
            </xsd:sequence>         	
            <xsd:attribute name="version"   type="versionType"    use="required"/> 			
            <xsd:attribute name="ID"        type="IDType"         use="required"/> 			
            <xsd:attribute name="agentRole" type="agentRoleType"  use="required"/>         
        </xsd:complexType>     
    </xsd:element>               

    <xsd:complexType name="statisticsType">         
        <xsd:sequence>                 
            <xsd:element name="actualStartTime" type="xsd:dateTime"           
                         maxOccurs="1"          minOccurs="0"/>                 
            <xsd:element name="retryCount"      type="xsd:nonNegativeInteger" 
                         maxOccurs="1"          minOccurs="1"/>                 
            <xsd:element name="numFileFailures" type="xsd:nonNegativeInteger" 
                         maxOccurs="1"          minOccurs="1"/>                 
            <xsd:element name="numFileWarnings" type="xsd:nonNegativeInteger" 
                         maxOccurs="1"          minOccurs="1"/>         
        </xsd:sequence>     
    </xsd:complexType>     

    <xsd:complexType name="webGatewayType"> 		
        <xsd:attribute name="webGatewayName"      type="xsd:string" use="optional" /> 		
        <xsd:attribute name="webGatewayAgentName" type="xsd:string" use="optional" /> 		
        <xsd:attribute name="webGatewayAgentQMgr" type="xsd:string" use="optional" /> 
    </xsd:complexType> 	 	

    <xsd:complexType name="webUserType"> 		
        <xsd:attribute name="webGatewayName"      type="xsd:string" use="required" /> 		
        <xsd:attribute name="webGatewayAgentName" type="xsd:string" use="optional" /> 		
        <xsd:attribute name="webGatewayAgentQMgr" type="xsd:string" use="optional" />        	 	
    </xsd:complexType>

</xsd:schema>
注: IBM® MQ 9.0以降、 Managed File Transfer では Web Gateway も Web エージェントもサポートされません。

転送ログ・メッセージについて

<transaction>
まとめて実行する転送のグループを示すグループ・エレメント。
属性 説明
バージョン Managed File Transferで詳述されているこのエレメントのバージョンを指定します。
ID 固有トランザクション ID を指定します。 ID には、最大で 48 文字の英数字を指定できます。
relatedID オプション。 トランザクションがファイル・スペースからのファイルの削除またはダウンロードである場合、relatedID は、ファイルをファイル・スペースにアップロードした転送のトランザクション ID を指定します。
agentRole オプション。 関係するエージェントがソース・システムにあるか宛先システムにあるかを示します。
xmlns:xsi ネーム・スペースの宣言。 このスキーマで使用されるエレメントおよびデータ・タイプが「https://www.w3.org/2001/XMLSchema-instance」ネーム・スペースから派生することを示します。
xsi:noNamespaceSchemaLocation ネーム・スペース宣言が存在しない場合にこのメッセージの妥当性検査を行うための XML スキーマ文書の名前と位置を指定します。 この属性に指定する値は、Managed File Transfer TransferLog.xsd 文書を参照する必要があります。
<action>
time 属性によりログに記録された時刻におけるファイル転送の状況を示します。 状況は以下のいずれかの値になります。
  • 開始済み
  • 進行
  • 完了
  • 取り消し済み
  • malformed (ファイル転送の要求メッセージの内容を解釈できなかったことを示す。)
  • notAuthorized
  • deleted
属性 説明
time 転送状況が収集された時刻を、UTC 形式で表記します。
<sourceAgent>
ソース・ファイルがあるシステム上のエージェントの名前を示します。 <sourceAgent>または<sourceWebUser>er指定できる。
<startExits>
1 つ以上のユーザー出口エレメントを含むグループ・エレメント。 このエレメントは、一度だけ使用できます。
<endExits>
1 つ以上のユーザー出口エレメントを含むグループ・エレメント。 このエレメントは、一度だけ使用できます。
<systemInfo>
システム体系、名前、およびバージョンを説明します。 このエレメントは、一度だけ使用できます。
属性 説明
エージェント ソース・システム上のエージェントの名前。
キュー・マネージャー ソース・システム上のキュー・マネージャーの名前。
agentType エージェントのタイプ。 有効な値は以下のとおりです。
  • STANDARD - 通常のエージェント
  • BRIDGE - プロトコル・ブリッジ・エージェント
  • CD_BRIDGE- Connect:Direct® ブリッジ・エージェント
  • EMBEDDED - 組み込みエージェント
  • SFG - Sterling File Gateway 組み込みエージェント
bridgeURL オプション。 エージェントがプロトコル・ブリッジ・エージェントの場合、プロトコル・サーバーをホストするシステムのホスト名。
pnode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、転送に関係する Connect:Direct 1 次ノードの名前。
snode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、転送に関係する Connect:Direct 2 次ノードの名前。
bridgeNode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、 Connect:Direct ブリッジの一部である Connect:Direct ノードの名前です。 1 次ノードまたは 2 次ノードのいずれかと同じノードになります。
<destinationAgent>
ファイルが転送されたシステム上のエージェントの名前を示します。 <destinationAgent>または<destinationWebUser>eどちらかを指定する。
属性 説明
エージェント 宛先システム上のエージェントの名前。
キュー・マネージャー 宛先システム上のキュー・マネージャーの名前。
agentType エージェントのタイプ。 有効な値は以下のとおりです。
  • STANDARD - 通常のエージェント
  • BRIDGE - プロトコル・ブリッジ・エージェント
  • CD_BRIDGE- Connect:Direct ブリッジ・エージェント
  • EMBEDDED - 組み込みエージェント
  • SFG - Sterling File Gateway 組み込みエージェント
bridgeURL オプション。 エージェントがプロトコル・ブリッジ・エージェントの場合、プロトコル・サーバーをホストするシステムのホスト名。
pnode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、転送に関係する Connect:Direct 1 次ノードの名前。
snode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、転送に関係する Connect:Direct 2 次ノードの名前。
bridgeNode オプション。 エージェントが Connect:Direct ブリッジ・エージェントの場合は、 Connect:Direct ブリッジの一部である Connect:Direct ノードの名前です。 1 次ノードまたは 2 次ノードのいずれかと同じノードになります。
<startExits>
1 つ以上のユーザー出口エレメントを含むグループ・エレメント。 このエレメントは、一度だけ使用できます。
<endExits>
1 つ以上のユーザー出口エレメントを含むグループ・エレメント。 このエレメントは、一度だけ使用できます。
<systemInfo>
システム体系、名前、およびバージョンを説明します。 このエレメントは、一度だけ使用できます。
<originator>
要求の発信元を示すエレメントが含まれるグループ・エレメント。
<hostName>
ソース・ファイルが置かれているシステムのホスト名。
<userID>
ファイル転送を開始したユーザーの ID。
<mqmdUserID>
メッセージ記述子 (MQMD) に指定された IBM MQ ユーザー ID。
<webUserID>
オプション。 転送要求を実行依頼する、Web ブラウザーに指定されたユーザー ID。
<webBrowser>
オプション。 転送要求の実行依頼元の Web ブラウザー。
<status>
結果コードと補足メッセージ。
<trigger>
元の転送要求で定義されているトリガー・エレメントを含むグループ・エレメント。 このエレメントは、次のうちのいずれかあるいはその両方になります。
<fileExist>
ファイルが存在するかどうかに基づくトリガー条件
<fileSize>
指定されたサイズをファイルが満たしているかまたは超えているかに基づくトリガー条件
<transferSet>
まとめて実行するファイル転送のグループを示します。 送信中は、<transferSet> は <item> エレメントが含まれるグループ・エレメントです。
属性 説明
startTime 一連の転送が開始された時刻を、UTC 形式の表記で記録します。
total この一連の転送の合計項目数を示します。
索引 (index) オプションの属性。 転送セットの進行における最初の項目の位置を示します。 index 属性は、ゼロからインクリメントします。 例えば、索引が 1 に設定されている場合、この進行メッセージは 2 つある項目のうちの 2 番目です。
size オプションの属性。 進行レポート内の項目の数を示します。
priority オプションの属性。 転送の優先順位。 priority は 0 から 9 までの範囲の値で、0 が最低の優先順位です。 デフォルトの優先順位は 0 で、デフォルトではソース・エージェントの優先順位が転送で使用されます。
<metaDataSet>
以下の属性の 1 つ以上を含むグループ・エレメント:
<metaData>
属性 説明
key メタデータのキーと値の対の片方のキー。 <metaData> エレメント・コンテントに、対の片方の値が含まれます。 例えば、<metaData key="testkey1">testvalue1</metaData> のようになります。
<job>
ジョブの詳細を指定するエレメントを含むグループ・エレメント。<job> は、転送が開始されたときに、ログ・メッセージに追加されるユーザー定義ジョブ名 ID です。 この < job> エレメントは、転送要求メッセージに含まれる < job> エレメントと同じです。これについては、 ファイル転送要求メッセージ・フォーマットのトピックで説明されています。
<name>
名前の値は、任意のストリングです。
<scheduleLog>
ソースおよび宛先のファイル名と位置を示すエレメントが含まれるグループ・エレメント。
属性 説明
ID 転送がスケジュールした転送である場合、この ID はスケジュール ID と一致します。
<item>
ソースおよび宛先のファイル名と位置を示すエレメントが含まれるグループ・エレメント。
<source>
ソース・システムのファイルに関する <file> エレメントまたは <queue> エレメントと <checksum> エレメントが含まれるグループ・エレメント。
属性 説明
recursive <source> エレメントがディレクトリーであるかそこにワイルドカード文字が含まれる場合にファイルが再帰的にサブディレクトリーに転送されることを指定します。
disposition <source> がその宛先に正常に転送されたときに <source> エレメントに対して取るアクションを指定します。 有効なオプションは以下のとおりです。
  • leave - ソース・ファイルは変更されません。
  • delete - ソース・ファイルは、それが正常に転送された後にソース・システムから削除されます。
correlationBoolean ブール相関値。 ソースが Connect:Direct ブリッジの場合、これは Connect:Direct プロセスがユーザー定義であるかどうかを指定します。
correlationString1 ストリング相関値。 ソースが Connect:Direct ブリッジの場合、これは転送の宛先で発生する Connect:Direct プロセスの名前を指定します。
correlationNum1 数値相関値。 ソースが Connect:Direct ブリッジの場合、これは転送の宛先で発生する Connect:Direct プロセスの ID 番号を指定します。
<queue>
<source> エレメントと一緒に使用する場合には、転送メッセージの読み取り元のキュー (ソース・エージェントのキュー・マネージャーに存在するキュー) の名前を指定します。
属性 説明
messageCount キューから読み取られたメッセージの数。
groupId キューから読み込まれたメッセージの IBM MQ グループ ID。
<destination>
宛先に関する <file> エレメントまたは <queue> エレメントと <checksum> エレメントが含まれるグループ・エレメント。
<file> と <queue> のいずれかを宛先の子エレメントとして記述します。
属性 説明
タイプ
宛先のタイプ。 有効なオプションは以下のとおりです。
  • queue-宛先として IBM MQ キューを指定します。
  • file - ファイルを宛先として指定します
  • directory - ディレクトリーを宛先として指定します
  • [z/OS]データ・セット-宛先として z/OS® データ・セットを指定します。
  • [z/OS]pds- z/OS 区分データ・セットを宛先として指定します。

queue オプションを記述できるのは、<destination> エレメントに子エレメント <queue> がある場合に限られます。その他のオプションを記述できるのは、<destination> エレメントに子エレメント <file> がある場合に限られます。

exist
宛先システムに宛先ファイルが存在する場合に取る処置を示します。 有効なオプションは以下のとおりです。
  • error - エラーを報告し、ファイルは転送されません。
  • overwrite - 既存の宛先ファイルを上書きします。

<destination> エレメントに子エレメント <queue> がある場合は、この属性を記述できません。

correlationBoolean ブール相関値。 宛先が Connect:Direct ブリッジの場合、これは Connect:Direct プロセスがユーザー定義かどうかを指定します。
correlationString1 ストリング相関値。 宛先が Connect:Direct ブリッジの場合、これは転送の宛先で発生する Connect:Direct プロセスの名前を指定します。
correlationNum1 数値相関値。 宛先が Connect:Direct ブリッジの場合、これは転送の宛先で発生する Connect:Direct プロセスの ID 番号を指定します。
<file>
(ソースと宛先の両方で) 転送されたファイルの絶対パスを示します。 完全修飾パスは、ご使用のオペレーティング・システムと整合した形式です (例: C:/from/here.txt)。 ファイル URI は使用されません。
<queue>
<destination> エレメントと一緒に使用する場合には、転送先のキュー (宛先エージェント・キュー・マネージャーに接続しているいずれかのキュー・マネージャーに存在するキュー) の名前を指定します。
属性 説明
messageCount キューに書き込まれたメッセージの数。
messageLength キューに書き込まれたメッセージの長さ。
groupId 転送要求でファイルが複数のメッセージに分割されるように指定されている場合、この属性の値は、キューに書き込まれるメッセージの IBM MQ グループ ID です。
messageId 転送要求でファイルが複数のメッセージに分割されるように指定されていない場合、この属性の値は、キューに書き込まれるメッセージの IBM MQ メッセージ ID です。
<checksum>
オプションのエレメント。
デジタル署名を作成するためにメッセージ・ダイジェストを生成したハッシュ・アルゴリズムのタイプを示します。 現在、 Managed File Transfer はメッセージ・ダイジェスト・アルゴリズム 5 (MD5) のみをサポートしています。 転送されたファイルの完全性が損なわれていないことを確認する方法として、チェックサムが備えられています。
<malformed>
誤った形式のメッセージのグループ・エレメント。
属性 説明
バージョン
ID  
agentRole ソース・エージェントまたは宛先エージェントのいずれか
<statistics>
転送の統計情報に関するグループ・エレメント (使用可能な場合)。
<actualStartTime>
エージェントが転送の実行を開始した実際の時刻。 通常、時刻は、転送について記録された開始時刻と同じ (またはそれに非常に近い) です。 しかし、エージェントがビジー状態の場合、エージェントが転送を実行できるようになるまで、実行依頼された転送はキューに入れられることがあります。
<retryCount>
転送がリカバリー状態に入り、エージェントによって再試行された回数。 ソース・エージェントと宛先エージェントが通信を失ったために、転送がリカバリー状態になることがあります。これは、 IBM MQ ネットワーク・エラーのためか、またはエージェントが一定期間データ・メッセージまたは確認応答メッセージを受信していないためです。 この期間は、エージェント・プロパティー transferAckTimeout および transferAckTimeoutRetries によって決定されます。
<numFileFailures>
transferSet に含まれているファイルのうち、正常に転送できなかったファイルの数。
<numFileWarnings>
transferSet に含まれているファイルのうち、転送時に警告が生成されたが、それ以外の点では正常に転送されたファイルの数。