このセクションでは、CSV Client ツールについて説明します。CSV Client ツールは、CSV (区切られた) 形式と XML 形式間の変換をサポートします。また、CSV Client ツールは CSV Call Back ツールに対応します。CSV Call Back ツールは、受信 CSV メッセージの処理を容易にします。
このセクションの内容:
概要
CSV Client は EDI Client ツールの一種であり、CSV/区切られたメッセージの処理用に構成されています。[ツールの追加] ウィザードから直接 CSV Client ツールを作成できます。または、EDI Client ツールを追加してから、形式を CSV に変更することもできます。すると、ツールの名前が CSV Client に変わります ([デフォルト名の使用] オプションがオフにされていない場合)。
同様に、CSV Call Back ツールは CSV/区切られたメッセージの処理用に構成された Enhanced Call Back ツールの一種です。CSV Call Back ツールを作成するには、Enhanced Call Back ツールを追加し、形式を CSV に変更します。すると、ツールの名前が CSV Call Back に変わります ([デフォルト名の使用] オプションがオフにされていない場合)。
CSV ツールには CSV 固有の変換オプションがあります。「変換オプション」の説明を参照してください。
SOAtest での CSV / 区切られたメッセージの処理
SOAtest は CSV 形式と XML 形式間の変換を行い、CSV メッセージをすばやく構成、送信、検証することを可能にします。
CSV ペイロードを持つメッセージを送信する場合、CSV Client ツールを作成します。CSV 形式には、関連付けられたスキーマが存在しないため、リテラル ビューに切り替えて CSV メッセージを貼り付けた後、フォーム入力ビューに切り替えてメッセージをパラメータライズします。
CSV Client は、CSV メッセージの特定の値を、パラメータライズまたはスクリプトによって作成して送信したい場合に利用します。スクリプトやパラメータライズが必要ない場合は、代わりに Messaging Client を使用できます。たとえば、Messaging Client を使用してリクエストを送信し、CSV メッセージが返ってくるとします。このメッセージを検証したり、メッセージから値を抽出したい場合があるでしょう。そのような場合、次の操作を行います。
- Messaging Client のレスポンス出力に XML Converter を連結します。
- 形式を CSV に設定し、必要に応じてツールの変換オプションを調整します。
- XML Data Bank (値を抽出する場合) またはその他の XML ツール (CSV 内の特定の値に対して検証を行う場合) を連結します。
変換オプション
CSV Client および CSV Call Back ツールには以下の変換オプションがあります。
- 区切り文字 - CSV ファイルで使用される区切り文字を指定します。
- 引用符 - 使用される引用符を指定します。引用符は、CSV ファイル内の個々の値を囲むのに使用できます。値にファイルの区切り文字が含まれている場合や、引用符が含まれている場合に使用します (値で一重引用符が使用されている場合、二重引用符で値を囲みます。値で二重引用符が使用されている場合、一重引用符で値を囲みます)。値に引用符が含まれない場合、一重引用符または二重引用符のどちらを使用して値を囲んでも構いません。
- 前後の空白を削除する - 値の先頭および末尾の空白を削除するかどうかを指定します。
- 1 行目は列名を表す - CSV ファイルの 1 行目を列名とみなすかどうかを指定します。1 行目が列名である場合、フォーム XML ビューの要素には、各値の名前として列名が表示されます。1 行目が列名ではない場合は、フォーム XML ビューの要素には、各値の名前として "value" が使用されます。
これらのオプションは両方向への変換で使用されます: "XML から CSV への変換" および "CSV から XML への変換"
たとえば、[1行目は列名を表す] オプションがオンに設定され、区切り文字として ',' が指定され、引用符として二重引用符が指定された場合、メッセージは次のように変換されます。
Last,First Dafoe, Daniel "O'Hara", Maureen
<?xml version="1.0" encoding="Cp1252"?> <root> <row> <Last>Dafoe</Last> <First>Daniel</First> </row> <row> <Last>O'Hara</Last> <First>Maureen</First> </row> </root>