プロトコル・ブリッジ・プロパティー・ファイルのフォーマット

エージェント構成ディレクトリー内の ProtocolBridgeProperties.xml ファイルは、プロトコル・ファイル・サーバーのプロパティーを定義します。

ProtocolBridgeProperties.xml ファイルは ProtocolBridgeProperties.xsd スキーマに準拠する必要があります。 ProtocolBridgeProperties.xsd スキーマ文書は、Managed File Transfer インストール済み環境の MQ_INSTALLATION_PATH/mqft/samples/schema ディレクトリーにあります。 テンプレート・ファイル ProtocolBridgeProperties.xml は、fteCreateBridgeAgent コマンドにより、エージェントの構成ディレクトリーに作成されます。

ファイル ProtocolBridgeProperties.xml はエージェントによって定期的に再ロードされ、ファイルに有効な変更が加えられていれば、それはエージェントの動作に反映されます。 デフォルトの再ロード間隔は 30 秒です。 この間隔は、agent.propertiesファイルでエージェント・プロパティーxmlConfigReloadIntervalを指定することによって変更できます。

スキーマ

次のスキーマは、ProtocolBridgeProperties.xml ファイルについて示します。

注: maxReconnectRetry 属性と reconnectWaitPeriod 属性は、 IBM® WebSphere® MQ 7.5以降、または IBM WebSphere MQ File Transfer Edition 7.0.2以降ではサポートされません。
<schema targetNamespace="http://wmqfte.ibm.com/ProtocolBridgeProperties" elementFormDefault="qualified"
	xmlns="https://www.w3.org/2001/XMLSchema" xmlns:tns="http://wmqfte.ibm.com/ProtocolBridgeProperties">

	<!--
		Example: ProtocolBridgeProperties.xml
		
		<?xml version="1.0" encoding="UTF-8"?>
		<tns:serverProperties xmlns:tns="http://wmqfte.ibm.com/ProtocolBridgeProperties"
							  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
							  xsi:schemaLocation="http://wmqfte.ibm.com/ProtocolBridgeProperties
							  ProtocolBridgeProperties.xsd">
			<tns:credentialsFile path="$HOME/ProtocolBridgeCredentials.xml" />				  
		    <tns:defaultServer name="myserver" />
		    <tns:ftpServer name="myserver" host="myhost.hursley.ibm.com" port="1234" platform="windows"
		         		   timeZone="Europe/London" locale="en-GB" fileEncoding="UTF-8"
		        		   listFormat="unix" limitedWrite="false" />
			<tns:sftpServer name="server1" host="myhost.hursley.ibm.com" platform="windows"
		         		    fileEncoding="UTF-8" limitedWrite="false">
		    	<limits maxListFileNames="10" />
		    </tns:sftpServer>
		</tns:serverProperties>
	-->

	<!-- Root element for the document -->
	<element name="serverProperties" type="tns:serverPropertiesType"></element>

	<!--
		A container for all protocol bridge server properties
	-->
	<complexType name="serverPropertiesType">
		<sequence>
			<element name="credentialsFile" type="tns:credentialsFileName" minOccurs="0" maxOccurs="1" />
			<element name="defaultServer" type="tns:serverName" minOccurs="0" maxOccurs="1" />
			<choice minOccurs="0" maxOccurs="unbounded">
				<element name="ftpServer" type="tns:ftpServerType" />
				<element name="sftpServer" type="tns:sftpServerType" />
				<element name="ftpsServer" type="tns:ftpsServerType" />
				<element name="ftpsfgServer" type="tns:ftpsfgServerType" />
				<element name="ftpssfgServer" type="tns:ftpssfgServerType" />
			</choice>
		</sequence>
	</complexType>

	<!--
		A container for a server name
	-->
	<complexType name="serverName">
		<attribute name="name" type="tns:serverNameType" use="required" />
	</complexType>
	
	<!--
		A container for a credentials file name
	-->
	<complexType name="credentialsFileName">
		<attribute name="path" type="string" use="required" />
	</complexType>
	
	<!--
		A container for all the information about an FTP server
	-->
	<complexType name="ftpServerType">
		<sequence>
			<element name="limits" type="tns:generalLimitsType" minOccurs="0" maxOccurs="1"  />
		</sequence>
		<attributeGroup ref="tns:ftpServerAttributes"/>
        <attribute name="passiveMode" type="boolean" use="optional" />		
	</complexType>
	
	<!--
		A container for all the information about an SFG FTP server
	-->
	<complexType name="ftpsfgServerType">
		<sequence>
			<element name="limits" type="tns:generalLimitsType" minOccurs="0" maxOccurs="1"  />
		</sequence>
		<attributeGroup ref="tns:ftpServerAttributes"/>
	</complexType>
	
	<!--
		A container for all the information about an SFTP server
	-->
	<complexType name="sftpServerType">
		<sequence>
			<element name="limits" type="tns:sftpLimitsType" minOccurs="0" maxOccurs="1"  />
		</sequence>
		<attributeGroup ref="tns:sftpServerAttributes"/>
	</complexType>
	
	<!--
		A container for all the information about a FTPS server
	-->
	<complexType name="ftpsServerType">
		<sequence>
			<element name="limits" type="tns:generalLimitsType" minOccurs="0" maxOccurs="1"  />
		</sequence>
		<attributeGroup ref="tns:ftpsServerAttributes"/>
	</complexType>

	<!--
		A container for all the information about a SFG FTPS server
	-->
	<complexType name="ftpssfgServerType">
		<sequence>
			<element name="limits" type="tns:generalLimitsType" minOccurs="0" maxOccurs="1"  />
		</sequence>
		<attributeGroup ref="tns:ftpsServerAttributes"/>
	</complexType>

	
	<!--
		Attributes common to all server types
	-->
	<attributeGroup name="generalServerAttributes">
		<attribute name="name" type="tns:serverNameType" use="required" />
		<attribute name="host" type="string" use="required" />
		<attribute name="port" type="nonNegativeInteger" use="optional" />
		<attribute name="platform" type="tns:platformType" use="required" />
		<attribute name="fileEncoding" type="string" use="required" />
		<attribute name="limitedWrite" type="boolean" use="optional" />
		<attribute name="controlEncoding" type="string" use="optional" />
	</attributeGroup>
	
	<!--
		Attributes common to ftp and ftps server types
	-->
	<attributeGroup name="ftpServerAttributes">
		<attributeGroup ref="tns:generalServerAttributes"/>
		<attribute name="timeZone" type="string" use="required" />
		<attribute name="locale" type="tns:localeType" use="required" />
		<attribute name="listFormat" type="tns:listFormatType" use="optional" />
		<attribute name="listFileRecentDateFormat" type="tns:dateFormatType" use="optional" />		
		<attribute name="listFileOldDateFormat" type="tns:dateFormatType" use="optional" />
		<attribute name="monthShortNames" type="tns:monthShortNamesType" use="optional" />
	</attributeGroup>
	
	<!--
		Attributes common to ftps server types
	-->
	<attributeGroup name="ftpsServerAttributes">
		<attributeGroup ref="tns:ftpServerAttributes"/>
		<attribute name="ftpsType" type="tns:ftpsTypeType" use="optional" />
		<attribute name="trustStore" type="string" use="required" />
		<attribute name="trustStoreType" type="string" use="optional" />
	    <attribute name="keyStore" type="string" use="optional" />
		<attribute name="keyStoreType" type="string" use="optional" />
		<attribute name="ccc" type="boolean" use="optional" />
		<attribute name="protFirst" type="boolean" use="optional" />
		<attribute name="auth" type="string" use="optional" />
		<attribute name="connectTimeout" type="nonNegativeInteger" use="optional"/>
	</attributeGroup>
	
	
	<!--
		A container for limit-type attributes for a server. Limit parameters
		are optional, and if not specified a system default will be used.
	-->
	<complexType name="generalLimitsType">
		<attributeGroup ref="tns:generalLimitAttributes"/>
	</complexType>
	
	<complexType name="sftpLimitsType">
		<attributeGroup ref="tns:generalLimitAttributes"/>
		<attribute name="connectionTimeout" type="nonNegativeInteger" use="optional" />
	</complexType>
	
	<!--
		Attributes for limits common to all server types
	-->
	<attributeGroup name="generalLimitAttributes">
		<attribute name="maxListFileNames" type="positiveInteger" use="optional" />
		<attribute name="maxListDirectoryLevels" type="nonNegativeInteger" use="optional" />
		<attribute name="maxReconnectRetry" type="nonNegativeInteger" use="optional" />
		<attribute name="reconnectWaitPeriod" type="nonNegativeInteger" use="optional" />
		<attribute name="maxSessions" type="positiveInteger" use="optional" />
		<attribute name="socketTimeout" type="nonNegativeInteger" use="optional" />
	</attributeGroup>
		
	<!--
		The type for matching valid server names. Server names must be at least 2 characters in length and 
		are limited to alphanumeric characters and the following characters: ".", "_", "/" and "%".
	-->
	<simpleType name="serverNameType">
        <restriction base="string">
            <pattern value="[0-9a-zA-Z\._/%]{2,}"/>
        </restriction>
    </simpleType>
    
	<!--
		The types of platform supported.
	-->
	<simpleType name="platformType">
		<restriction base="string">
		</restriction>
	</simpleType>
	
	<!--
		The type for matching a locale specification.
	-->
	<simpleType name="localeType">
        <restriction base="string">
            <pattern value="(..)[-_](..)"/>
        </restriction>
    </simpleType>

	<!--
		The types of list format supported (for FTP servers). 
	-->
	<simpleType name="listFormatType">
		<restriction base="string">
		</restriction>
	</simpleType>
	
	<!--
		Date format for FTP client directory listing on an FTP server. This is
		the format to be passed to methods setDefaultDateFormatStr and 
		setRecentDateFormatStr for Java class:
		org.apache.commons.net.ftp.FTPClientConfig
	-->
	<simpleType name="dateFormatType">
		<restriction base="string">
		</restriction>
	</simpleType>
	
	<!--
		A list of language-defined short month names can be specified. These are
		used for translating the directory listing received from the FTP server.
		The format is a string of three character month names separated by "|"
	-->
	<simpleType name="monthShortNamesType">
        <restriction base="string">
            <pattern value="(...\|){11}(...)"/>
        </restriction>
    </simpleType>
    
    <!--
		The enumerations of the allowed FTPS types: "implicit" & "explicit"
		If not specified the default is "explicit"
	-->
	<simpleType name="ftpsTypeType">
        <restriction base="string">
            <enumeration value="explicit"/>
            <enumeration value="implicit"/>
        </restriction>
    </simpleType>
    
    <!--
    	Attribute Group for SFTP Servers
    -->
    <attributeGroup name="sftpServerAttributes">
		<attributeGroup ref="tns:generalServerAttributes"/>
		<attribute name="cipherList" type="string" use="optional" />
	</attributeGroup>
</schema>

ProtocolBridgeProperties.xml ファイルについて

ProtocolBridgeProperties.xml ファイルで使用するエレメントと属性を以下のリストにまとめます。
<serverProperties>
XML 文書のルート・エレメント
<credentialsFile>
資格情報が含まれているファイルのパス。 IBM WebSphere MQ 7.5 以降の場合、このプロパティーの値には環境変数を含めることができます。 詳しくは、 MFT プロパティーの環境変数 を参照してください。
<defaultServer>
ファイル転送用のデフォルト・サーバーの働きをするプロトコル・ファイル・サーバー
<ftpServer>
FTP ファイル・サーバー
<sftpServer>
SFTP ファイル・サーバー
<ftpsServer>
FTPS ファイル・サーバー
すべてのタイプのプロトコル・ファイル・サーバーに適用される汎用サーバー属性:
属性 説明
名前 必須。 プロトコル・ファイル・サーバーの名前。 プロトコル・サーバー名は、2 文字以上の長さでなければならず、大/小文字の区別はなく、英数字と以下の文字に制限されます。
  • ピリオド (.)
  • 下線 (_)
  • スラッシュ (/)
  • パーセント記号 (%)
host 必須。 ファイルの送信先または送信元となるプロトコル・ファイル・サーバーのホスト名または IP アドレス。
port オプション。 ファイルの送信先または送信元となるプロトコル・ファイル・サーバーの ポート番号。
platform 必須。 ファイルの送信先または送信元となるプロトコル・ファイル・サーバーの プラットフォーム。 UNIX または WINDOWS のいずれかを指定します。このプロパティーは、FTP、FTPS、または SFTP サーバー上でのパスの入力方法に従って設定します。 例えば、 Windows 上で FTP サーバーを実行しているが、サーバーにログインするときに UNIXスタイルのパス (つまり、スラッシュを使用) を入力する必要がある場合は、この値を WINDOWSではなく UNIX に設定します。 Windows 上で稼働するサーバーは、多くの場合、 UNIXスタイルのファイル・システムを提供します。
fileEncoding 必須。 ファイル・サーバーで使用されている文字エンコード方式を定義します。 このプロパティーは、テキスト・モードでファイルを転送する場合に使用され、 プラットフォーム間をファイルが移動する際に、エンコード手順が正しく変更されるようにします。 例: UTF-8。
limitedWrite オプション。 ファイル・サーバーに書き込みを行う際のデフォルト・モードでは、 一時ファイルを作成し、転送が完了した後にそのファイルをリネームします。 書き込み専用として構成されたファイル・サーバーの場合、 ファイルは、最終的な名前をそのまま使用して作成されます。 このプロパティーの値は、true または false のいずれかになります。 デフォルトは falseです。
controlEncoding オプション。 プロトコル・ファイル・サーバーに送信される制御メッセージの制御エンコード値。 このプロパティーは、使用されるファイル名のエンコードに影響し、プロトコル・ファイル・サーバーの制御エンコードとの互換性が必要です。 デフォルトは UTF-8 です。
FTP サーバーと FTPS サーバーのみに適用される汎用属性:
属性 説明
timeZone 必須。 ファイルの送信先または送信元となるプロトコル・ファイル・サーバーの タイム・ゾーン。 例: America/New_York または Asia/Tokyo
ロケール (locale) 必須。 ファイルの送信先または送信元となるプロトコル・ファイル・サーバーで使用される言語。 例: en_US または ja_JP
listFormat オプション。 プロトコル・ファイル・サーバーから返される情報をリストするファイルの形式を定義するリスト形式。 Windows または UNIXのいずれかを使用してください。 デフォルトは UNIXです。
listFileRecentDateFormat オプション。 FTP サーバー上の FTP クライアント・ディレクトリー・リストの最新の日付形式 (1 年未満)。 この属性とlistFileOldDateFormat属性を使用すると、プロトコル・ファイル・サーバーから返される予期される日付形式を再定義できます。 デフォルトは、プロトコル・ファイル・サーバーで定義されている値です。
listFileOldDateFormat オプション。 FTP サーバー上の FTP クライアント・ディレクトリー・リストの古い日付形式 (1 年を超えている)。 この属性とlistFileRecentDateFormat属性を使用すると、プロトコル・ファイル・サーバーから返される予期される日付形式を再定義できます。 デフォルトは、プロトコル・ファイル・サーバーで定義されている値です。
monthShortNames オプション。 プロトコル・ファイル・サーバーから返される日付情報のデコードに使用される月名の置換リスト。 このプロパティーは、デフォルト・ロケールの月の値をオーバーライドする、12 個のコンマ区切りの名前のリストで構成されます。 デフォルトは、プロトコル・ファイル・サーバーで定義されている値です。
FTP サーバーのみに適用される汎用属性:
属性 説明
passiveMode オプション。 FTP サーバーへの接続がパッシブかアクティブかを制御します。

このプロパティーの値を false に設定すると、接続はアクティブになります。 この値を true に設定すると、接続はパッシブになります。 デフォルトは falseです。

FTPS サーバーのみに適用される汎用属性:
属性 説明
ftpsType オプション。 使用される FTPS プロトコルの形式が明示的か暗黙的かを指定します。 デフォルトは explicitです。
trustStore 必須。 FTPS サーバーによって提示される証明書が信頼できるかどうかの判別に使用するトラストストアの場所。
trustStoreType オプション。 トラストストア・ファイルの形式。 デフォルトは JKSです。
keyStore オプション。 FTPS サーバーからユーザー確認が行われた場合に、証明書の情報を提供するために使用する鍵ストアの場所。 デフォルトでは、プロトコル・ブリッジは、クライアントの認証を必要とするように構成された FTPS サーバーに接続できません。
keyStoreType オプション。 鍵ストア・ファイルの形式。 デフォルトは JKSです。
ccc オプション。 認証の完了後に保護されていない (暗号化されていない) コマンド・チャネルを使用するかどうかを選択します。 デフォルト値は false で、この場合は FTPS セッションの期間全体でコマンド・チャネルが暗号化されたままになります。 この属性は、ftpsType が explicit に設定されている場合のみ適用できます。
protFirst オプション。 USER/PASS コマンドを FTPS サーバーに発行するのを PBSZ/PROT コマンドの前にするか後にするかを指定します。 デフォルト値は false です。この場合、 USER/PASS コマンドが最初に送信され、その後に PBSZ/PROT コマンドが送信されます。 この属性は、ftpsType が explicit に設定されている場合のみ適用できます。
auth オプション。 AUTH コマンドの一部として指定されるプロトコルを指定します。 まず指定されたプロトコルを試行してから、デフォルトでは、FTPS サーバーが 504 応答コードで拒否しなくなるまで、TLSSSLTLS-C、または TLS-P を試行します。 この属性は、ftpsType が explicit に設定されている場合のみ適用できます。
<limits>
すべてのタイプのサーバーに共通の属性や、サーバーのタイプに固有の属性のコンテナー・エレメント。以下の属性があります。
すべてのタイプのプロトコル・ファイル・サーバーに適用する汎用制限属性:
属性 説明
maxListFileNames オプション。 プロトコル・ファイル・サーバー上のディレクトリーでファイル名をスキャンする際に収集される名前の最大数。 デフォルトは 999999999 です。
maxListDirectoryLevels オプション。 プロトコル・サーバー上でファイル名を繰り返しスキャンするディレクトリー・レベルの最大数。 デフォルトは 1000 です。
maxReconnectRetry

(この属性は非推奨になっています。)

非推奨。 この属性は、 IBM WebSphere MQ 7.5または IBM WebSphere MQ File Transfer Edition 7.0.2以降ではサポートされません。

オプション。 プロトコル・ブリッジ・エージェントが試行を停止する前に、プロトコル・サーバーが再接続を試行する最大回数。 デフォルトは 2 です。

reconnectWaitPeriod

(この属性は非推奨になっています。)

非推奨。 この属性は、 IBM WebSphere MQ 7.5、または IBM WebSphere MQ File Transfer Edition 7.0.2 以降ではサポートされません。

オプション。 再接続を試行する前に待機する時間 (秒単位)。 デフォルトは 10 秒です。

maxSessions オプション。 プロトコル・サーバーに関するセッションの最大数。 この数値は、プロトコル・ブリッジ・エージェントのソース転送と宛先転送の最大数の合計以上でなければなりません。 デフォルトは、エージェント・プロパティー maxSourceTransfers、maxDestinationTransfers、および maxCommandHandlerThreads の値の合計に 1 を加えた値です。 これらの 3 つのプロパティーがデフォルト値の 25、25、および 5 を使用する場合、maxSessions のデフォルトは 56 になります。
socketTimeout オプション。 ソケット・タイムアウト (秒単位)。 この属性の値は、ファイルのストリーミング中に使用されます。 デフォルトは 30 秒です。
SFTP サーバーのみに適用される制限属性:
属性 説明
connectionTimeout オプション。 接続要求に対するプロトコル・ファイル・サーバーからの応答を待機する時間 (秒単位)。 タイムアウトは、プロトコル・ファイル・サーバーが使用可能でないことを示します。 デフォルト値は 30 秒です。
cipherList

オプション。 プロトコル・ブリッジ・エージェントと SFTP サーバーの間で通信するために使用される暗号のコンマ区切りリストを指定します。 暗号は、このリストで指定された順序で呼び出されます。 暗号は、使用前にサーバーとクライアントで使用可能になっていなければなりません。

プロトコル・ブリッジ・エージェントがサポートする暗号は、以下のとおりです。
  • blowfish-cbc
  • 3des-cbc
  • aes128-cbc
  • aes192-cbc
  • aes256-cbc
  • aes128-ctr
  • aes192-ctr
  • aes256-ctr
  • 3des-ctr
  • arcfour
  • arcfour128
  • arcfour256

デフォルトでは、プロトコル・ブリッジ・エージェントによって使用される暗号のリストはaes128-cbc,aes192-cbc,aes256-cbcです。