このセクションの内容:
ISO 8583 Extensions は、Parasoft の継続的テスト ソリューションのための拡張機能です。クライアント側では、この拡張機能を使用してカスタム ISO 8583 メッセージを送受信できます。サーバー側では、この拡張機能を使用して仮想化されたレスポンスを作成して送信できます。
ISO 8583 統合のための以下のカスタム拡張機能が提供されます。
拡張機能スイートは com.parasoft.soavirt.iso8583.main-<VERSION>.jar として実装されています。この jar は、ディストリビューションに含まれる以下の jar に依存しています。
拡張機能は UI またはコマンドラインからインストールできます。
設定プロパティ ファイルの system.properties.classpath
プロパティに com.parasoft.soavirt.iso8583.main-<VERSION>.jar ファイルを追加します。
例:
system.properties.classpath=<PATH_TO_JAR>/com.parasoft.soavirt.iso8583.main-1.0.0.jar
クラスパスを変更すると、必要なすべての依存ライブラリがロードされます。
ISO 8583 トランスポートを使用する必要がある Virtualize Message Responder は、PVA レベルでカスタム ISO 8583 リスナーを使用するよう設定されていなければなりません (詳細については「プロジェクト、 仮想アセット、レスポンダー スイートの追加」を参照)。
PVA とリスナーが関連付けられると、PVA に ISO 8583 Responder ツールを追加し、適切に ISO 8583 レスポンスを処理できるようになります。
ISO 8583 Message Listener の以下のオプションを設定できます。
チャネル名 | メッセージの送受信時に使用する ISO 8583 チャネルを定義します。jPOS ライブラリに含まれるすべてのデフォルト チャネル実装 (ポート、ホスト、その他のパッケージャーだけを必要とする実装など) を利用できます。詳細については「Channels」を参照してください。 |
---|---|
ホスト | 接続を行うときに使用するホストを定義します。 |
ポート | 接続を行うときに使用するポートを定義します。 |
タイムアウト | 接続がタイムアウトするまでの秒数を定義します。 |
パッケージャー名 | ISO 8583 メッセージのパックおよびアンパックに使用するパッケージャーを定義します。通常、汎用パッケージャー XML 記述とともに GenericPackager が使用されます。しかし、事前定義済みの ISO パッケージャーのほうが適切な場合は、パッケージャー セクションで説明されているすべてのパッケージャーを使用できます。カスタム ISO パッケージャーが実装されている場合 (ISOPackager インターフェイスなど)、SOAtest/Virtualize のクラスパスにパッケージャーが含まれている必要があり、また完全修飾クラス名 (たとえば org.jpos.iso.packager.GenericPackager など) を指定する必要があります。詳細については「Packagers」を参照してください。 |
---|---|
パッケージャー パス | 汎用パッケージャー記述 XML ファイルへのパスを定義します。 このフィールドは、汎用パッケージ (GenericPackager および X92GenericPackager など) の場合にだけ使用します。 |
Header Length | 送信レスポンスのヘッダーの長さを指定します。 |
---|
接続をキープ アライブ | クライアント接続を持続して今後のパブリッシュで再利用するには、このオプションを有効化します。 |
---|---|
テスト実行後に接続をクローズする | パブリッシュの直後にクライアント接続を切断するには、このオプションを有効化します。 |
ISO 8583 メッセージ フォーマットの以下のオプションを設定できます。
パッケージャー名 | ISO 8583 メッセージのパックおよびアンパックに使用するパッケージャーを定義します。通常、汎用パッケージャー XML 記述とともに GenericPackager が使用されます。しかし、事前定義済みの ISO パッケージャーのほうが適切な場合は、パッケージャー セクションで説明されているすべてのパッケージャーを使用できます。カスタム ISO パッケージャーが実装されている場合 (ISOPackager インターフェイスなど)、SOAtest/Virtualize のクラスパスにパッケージャーが含まれている必要があり、また完全修飾クラス名 (たとえば org.jpos.iso.packager.GenericPackager など) を指定する必要があります。詳細については「Packagers」を参照してください。 |
---|---|
パッケージャー パス | 汎用パッケージャー記述 XML ファイルへのパスを定義します。 このフィールドは、汎用パッケージ (GenericPackager および X92GenericPackager など) の場合にだけ使用します。 |
ISO 8583 トランスポートの以下のオプションを設定できます。
チャネル名 | メッセージの送受信時に使用する ISO 8583 チャネルを定義します。jPOS ライブラリに含まれるすべてのデフォルト チャネル実装 (ポート、ホスト、その他のパッケージャーだけを必要とする実装など) を利用できます。詳細については「Channels」を参照してください。 |
---|---|
ホスト | 接続を行うときに使用するホストを定義します。 |
ポート | 接続を行うときに使用するポートを定義します。 |
Timeout | 接続がタイムアウトするまでの秒数を定義します。 |
パッケージャー名 | チャネルの作成に使用されるパッケージャーを指定します。 このフィールドは ISO 8583 Message Format Settings の対応するフィールドと同様に機能します。 |
---|---|
パッケージャー パス | 汎用パッケージャー記述 XML ファイルへのパスを定義します。 このフィールドは ISO 8583 Message Format Settings の対応するフィールドと同様に機能します。 |
リクエスト ヘッダー | リクエストと共に送信するカスタム ヘッダーを定義します。このフィールドは、レスポンス ヘッダー サイズのテンプレートを兼ねています。これにより、レスポンスのヘッダーを適切に読み取ることができます。 |
---|
パッケージャーは、ISO 8583 メッセージの構造を定義します。メッセージに含まれるフィールドの数、フィールドのデータ型などを定義します。パッケージャーを使用すると、ISO 8583 メッセージのバイナリ データを処理して、別のパッケージャーでも容易に操作やフォーマット設定が可能な汎用的な ISO メッセージに変換することができます。デフォルトでさまざまなパッケージャーが提供されているほか、カスタム パッケージャーを使用して特殊なケースに対応することもできます。
パッケージャーは jPOS API の拡張も提供します。カスタム パッケージャーを定義し、カスタム ISO 8583 メッセージを記述できるため、事実上、どんなタイプの ISO 8583 メッセージでもサポートできます。
パッケージャー名 | パッケージャーの説明 |
---|---|
Base1Packager | VISA Base1 バイナリ パッケージャーです。 |
Base1SubFieldPackager | VISA Base1 バイナリ サブフィールド パッケージャーです。 |
BASE24Packager | BASE24 ASCII パッケージャーです。 |
CTCSubElementPackager | フィールド 48 のサブ要素の検証パッケージャーです。 |
CTCSubFieldPackager | フィールド 48 のサブフィールドの検証パッケージャーです。 |
DummyPackager | ダミー パッケージャーです。メッセージがパック/アンパックされると例外をスローします。 |
EuroPackager | EuroPay パッケージャーです。 |
EuroSubFieldPackager | EuroPay サブフィールド パッケージャーです。 |
FSDPackager | FSD ISO メッセージ パッケージャーです。 |
GenericPackager | XML 記述を使用して ISO メッセージを記述します。 |
GenericSubFieldPackager | XML 記述を使用して ISO サブフィールドを記述します。 |
GenericTaggedFieldsPackager | ビットマップなしで TLV サブフィールドを含むフィールド用のパッケージャーです。 |
GenericValidatingPackager | XML 記述を使用して ISO メッセージを検証します。 |
ISO87APackager | ISO 8583 v1987 ASCII パッケージャーです。 |
ISO87APackagerBBitmap | バイナリ ビットマップを使用する ISO 8583 v1987 ASCII パッケージャーです。 |
ISO87BPackager | ISO 8583 v1987 BINARY パッケージャーです。 |
ISO93APackager | ISO 8583 v1993 ASCII パッケージャーです。 |
ISO93BPackager | ISO 8583 v1993 BINARY パッケージャーです。 |
LogPackager | jPOS ログから ISO メッセージをパック/アンパックします。 |
MasterCardEBCDICSubFieldPackager | MasterCard EBCDIC サブフィールド パッケージャーです。 |
PackagerWrapper | 別の ISO パッケージャーをラップします。 |
PostPackager | Postilion 用の ISO 8583 v1987 パッケージです |
VAPSMSPackager | VISA の VAP Single Message (非推奨) 対応の ISO 8583 v1987 BINARY パッケージャーです |
VAPVIPPackager | VISA の VAP Single Message (非推奨) 対応の ISO 8583 v1987 BINARY パッケージャーです |
X92GenericPackager | XML 記述を使用して ANSI X9.2 ISO メッセージを記述します。 |
X92Packager | ANSI X9.2 バイナリ パッケージャーです。 |
XML2003Packager | ISO 8583 v2003 メッセージを XML 表現にパック/アンパックします。 |
XMLPackager | ISO 8583 メッセージを XML 表現にパック/アンパックします。 |
カスタム パッケージャーは、2 つの方法で実装でき、カスタム ISO 8583 メッセージのサポートを可能にします。
汎用パッケージャー XML 記述この実装では、jPOS ライブラリが大部分の ISO 8583 メッセージを処理可能な汎用パッケージャーを提供します。汎用パッケージャーは、ISO 8583 メッセージの XML 記述を使用して ISO 8583 メッセージを適切にパック/アンパックします。 汎用パッケージャー記述を定義するには、まず XML 文書型を宣言します。
文書型の後に ISO パッケージャー定義が続きます。
ISO フィールド定義は、ISO パッケージャー定義の中に置きます。ISO フィールド定義は、プリミティブな ISO 8583 型または複合型です。 プリミティブな ISO フィールド定義プリミティブな ISO フィールド定義を行うには、以下のフォーマットを使用します。
以下の ISO フィールド パッケージャーがデフォルトで提供されています (XML 定義の中では、すべてのクラス名に接頭辞 "org.jpos.iso" を付ける必要があります)。
複合 ISO フィールド定義複合 ISO フィールド定義を行うには、以下のフォーマットを使用します。
参考として、jPOS のサンプルの中に、VISA の Base1 ISO 8583 メッセージ対応カスタム パッケージのサンプルがあります。プラグインの zip ファイルに含まれる base1.xml を参照してください。 ISOPackager インターフェイスこの実装では、jPOS ライブラリは、カスタム パッケージャーの定義に使用できる Java インターフェイスも提供します。汎用パッケージャーやデフォルトのパッケージャーでは特定の ISO 8583 メッセージをサポートできない場合、カスタム ISO パッケージャーを実装できます。 |
チャネルは、ISO 8583 クライアントとサーバーが相互に通信する方法を定義します。チャネルは、汎用 ISO メッセージが送信前に適切にフォーマットされ、送信先で適切に再構築されるよう保証します。チャネルは、クライアントおよびサーバー間での ISO 8583 メッセージの送受信に使用される接続およびプロトコルを処理します。パッケージャーの場合と同様に、jPOS ライブラリは多くのチャネルを提供しており、ほとんどのケースに対応できるはずです。しかし、適切なチャネルが存在しない場合、BaseChannel
クラスを拡張することで、カスタム ISO 8583 チャネルを実装できます。
デフォルトでは、以下のチャネルが提供されています。
チャネル名 | チャネルの説明 |
---|---|
AmexChannel | American Express のチャネルです。 |
ASCIIChannel | 4 ASCII 文字メッセージ長ヘッダーを持つ ISO ベースのチャネル拡張です。 |
BCDChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
CSChannel | CS 標準チャネルです |
FSDChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
GZIPChannel | チャネル上で送信されるデータを GZIP で圧縮する ISO ベースのチャネル拡張です。 |
HEXChannel | 4 ASCII 16進数文字メッセージ長ヘッダーを持つ ISO ベースのチャネル拡張です。 |
LogChannel | ISO ロガーから ISOMSG ブロックを抽出する ISO ベースのチャネル拡張です。 |
NACChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
NCCChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
PADChannel | X.25 PAD への接続に適した ISO チャネルです。 |
PostChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
RawChannel | 以下のメッセージ フォーマットを持つ ISO ベースのチャネル拡張です。
|
RBPChannel | Record Boundary Preservation チャネルです。 |
TelnetXMLChannel | telnet セッションを通じて XML ベースの ISO-8583 メッセージを交換します。telnet コマンドは無視されます。 |
VAPChannel | VISA の VAP framing (非推奨) です。 |
X25Channel | X.25 PAD への接続に適した ISO チャネルです。 |
XMLChannel | XML ベースの ISO-8583 メッセージを交換する ISO ベースのチャネル拡張です。 |
このツールは、以下のサード パーティのコンテンツを含みます。
Parasoft の ISO 拡張機能は、GNU AGPL v3.0 ライセンスのもとにリリースされています。
その他のライセンスの詳細については、Parasoft Burp Suite Extensions の licenses フォルダーを参照してください。