このセクションでは、EDI Client ツールについて説明します。EDI Client ツールは EDI 形式でメッセージを送信します。EDI Client ツールは Enhanced Call Back および XML ツール と組み合わせて使用することができます。
EDI Client ツールおよび Enhanced Call Back ツールは、EDI に加えて CSV、固定長、行、およびプレーン テキスト形式をサポートしています。これらの形式を使用すると、形式に合わせてツール名が変わります (CSV Client と CSV Call Back、Fixed Length Client と Fixed Length Call Back、Lines Client と Lines Call Back、Plain Text Client と Plain Text Call Back)。
XML Converter ツールもこれらの形式をサポートしています。形式および変換の方向によってツールの名称が変わります。たとえば、Convert Fixed Length to XML、Convert XML to Fixed Length、Convert EDI to XML、Convert XML to EDI などです。
このセクションの内容:
EDI 形式を使用するには、Message Packs ライセンス機能を有効にする必要があります。Message Packs ライセンス機能を有効にすると、EDI Client、Enhanced Call Back ツール、および XML Converter で EDI 形式を使用できます。 |
SOAtest 9.1 でサポートされていた EDIFACT は、引き続き「ベーシック EDIFACT」として EDI Client、Enhanced Call Back、および XML Converter で利用できます。詳細については、「ベーシック EDIFACT のサポート」 を参照してください。 |
企業や組織は EDI (Electronic Data Interchange) を使用してメッセージを交換できます。EDI は標準的なメッセージ形式を使用します。その 1 つが EDIFACT (Electronic Data Interchange For Administration, Commerce and Transport) です。
EDIFACT も含め、多くの EDI メッセージ形式は、解析が難しく、人間にとっては読みづらいものです。
EDI Client、Enhanced Call Back、および XML Converter ツールを使用すると、 SOAtest で EDIFACT を使用するのが容易になります。XML からネイティブ形式に、またネイティブ形式から XML にシームレスに変換できるので、SOAtest の既存の XML 機能を利用して EDI メッセージの送信、検証、およびデータの抽出を行うことができます。
EDI 形式として次の標準がサポートされています。
各標準でサポートされるバージョンおよびメッセージ タイプの詳細については、「EDI サポートの詳細」を参照してください。
EDI Client を使用すると、EDI メッセージをフォーム ビューでモデル化し、メッセージに含まれる特定のフィールドの値を容易に変更したり、フィールドをパラメータライズしたりできます。
EDI Client は、Message Client ツールの機能のスーパーセットを備えています。EDI Client は、Message Client ツールのすべての機能を実行できるほか、自動的にリクエスト ペイロードを XML から EDI に (そしてレスポンス ペイロードを EDI から XML に) 変換します。
EDI Client を使用すると、XML を活用し、読解が困難な場合が多い EDI を簡単に利用できます。EDI リクエスト ペイロードを XML ドキュメントとしてモデル化できます。EDI Client は、自動的に XML を EDI に変換してからメッセージを送信します。サーバーから EDI メッセージが返されると EDI Client がメッセージを XML に変換するため、XML Assertor および XML Data Bank などのツールをレスポンスに連結できます。
単にリテラルな EDI メッセージを送信する場合、EDI Client ではなく Messaging Client ツールを使用するほうがよいかもしれません。しかし、レスポンスとして EDI メッセージが返されることが期待されている場合、EDI Client には、Messaging Client にはない利点があります。それは、レスポンス ペイロードが XML 出力としてモデル化されることです。XML が出力されるため、XML Assertor、XML Data Bank、または XML モードの Diff ツールを連結し、容易にメッセージを検証することができます。Messaging Client では、レスポンス トラフィック出力に Text/XML Transformer を追加してから XML Assertor、XML Data Bank、または Diff ツールを連結するという余分な手間がかかります。
EDI Client ツールの構成に使用できるワークフローは 2 つあります。
(推奨) すでにリテラルな EDI メッセージがある場合には、次の操作を行います。
ゼロから EDI メッセージを作成するには、次の操作を行います。
フォーム入力ビューは、選択されたメッセージ タイプのスキーマに従ってメッセージを制限し、メッセージに含まれていないフィールドを追加できないようにします。また、フィールドに対してサポートされていない値型を使用しようとした場合、警告を発します (たとえば integer フィールドに string を入力しようとした場合など)。フォーム XML ビューでは、これらのチェックは行われません。
SOAtest は、選択したメッセージ タイプに従って、最小限の有効な EDI メッセージしか生成しないため、メッセージで使用されるフィールドを手動で追加する必要がある場合が多いでしょう。生成されるメッセージにはデフォルト値が含まれていますが、手動で変更することができます。フォーム入力ビューで右クリック メニューの [データ投入] オプション (「データ ソース値を使った要素のデータ投入とパラメータライズ」の説明を参照) を使用することは、通常は推奨されません。このオプションを使用すると、すべての任意フィールドがメッセージに追加されますが、有効なデフォルト値が追加されるとは限りません。 [データ投入] オプションを使用した後、メッセージを確認して各フィールドに値を入力する必要があります。多くの EDI メッセージの場合、そのような作業は非常に煩雑です。
デフォルトのオプションを使用すると、EDI Client は常に [フォーマット] コンボ ボックスで選択されたネイティブ形式を送信します。しかし、フォーム入力およびフォーム XML モードでは、ネイティブ形式ではなく SOAtest の XML 形式で送信するよう設定できます。
XML 形式で送信を行うには、EDI Client エディターの [XML 変換オプション] セクションにある [フォーム入力またはフォーム XML モード時は EDI の代わりに XML を送信] チェック ボックスをオンにします。
このオプションは、リテラル ビューまたはスクリプト ビューに対しては意味がないことに注意してください。EDI Client は常にリテラル ビューに表示されたテキストまたはスクリプト ビューのスクリプトから返されたテキストをそのまま送信します。
リクエストを指定する際に推奨されるワークフローについては、「ワークフロー」を参照してください。
フォーム入力ビューまたはフォーム XML ビューからリテラルビューに切り替えた場合、フォーム入力ビューまたはフォーム XML ビューの内容は自動的にネイティブ形式に変換され、リテラル ビューに表示されます。リテラル ビューの内容をフォーム入力ビューまたはフォーム XML ビューで表示すると、自動的に XML 形式に変換されます。
EDI 形式モードでは、EDI メッセージをリテラル ビューに貼り付けてからフォーム 入力ビューまたはフォーム XML ビューに切り替えた場合、メッセージタイプが自動的に検出され、[ダイアレクト]、[バージョン]、[メッセージ タイプ] コンボ ボックスに自動的に値が設定されます。
利用可能なビューの詳細については、「メッセージ ツールとレスポンダーのオプション」を参照してください。
カスタム EDI メッセージを送信する場合、フォーム XML ビューを使用すると、フォーム入力ビューでは入力できないカスタム フィールドを追加できます。 |
リテラル ビューにメッセージを貼り付けてからフォーム入力ビューに切り替えてもフォーム入力ビューに値が表示されない場合、リテラル ビューからフォーム XML ビューに切り替えてください。貼り付けられた EDI メッセージに該当するスキーマを SOAtest が検出できなかった場合、フォーム入力ビューには値が設定されません。しかし、フォーム XML ビューでは、そのようなメッセージもサポートできる場合があります。 |
利用可能なトランスポートの設定を構成する方法の詳細については、「さまざまなプロトコルによるテスト」を参照してください。
トランスポートが HTTP の場合、Content-Type HTTP ヘッダーには以下のどちらかが設定されます。
各形式のデフォルトの MIME タイプは以下のとおりです。
[Misc] タブをクリックして以下のオプションを設定します:
タイムアウト (ミリ秒): FTP、telnet、または HTTP リクエストがタイムアウトしたとみなす時間を秒単位で指定します。デフォルトの設定は、[設定] パネルで指定した値と同じです。[カスタム] を選択すると、タイムアウト値を入力できます。タイムアウト時間を設定しない場合は、負の値を指定します。
EDI 形式では、オプションが空の場合、オプションのデフォルト値を使用して変換が行われます。値が選択または入力されている場合、変換時にその値が使用されます。無効な値が手動で入力された場合、フォーム入力/フォーム XML ビューとリテラル ビューの間で切り替えを行ったときやテストを実行したときにエラーが発生する可能性があることに注意してください。
EDI には、以下の変換オプションがあります。
変換オプションは、ベーシック EDIFACT には適用されないことに注意してください。
EDI メッセージを検証する場合、通常は XML 出力としてモデル化されたレスポンス ペイロードに XML Assertor、XML Data Bank、または Diff ツールを連結します。しかし、Extension ツールやその他のツールを出力に連結し、任意の検証を行うことができます。リテラルな EDI コンテンツを検証する場合、レスポンス ペイロード出力にツールを連結できます。すると、リテラルな EDI コンテンツが連結されたツールに送信されます。
EDI Client には以下の 2 つのレスポンス ペイロード出力があります。
たとえば、プレーン テキスト形式を使用し、サーバーが "delta" という文字列を返した場合、「ペイロード」出力に連結されたツールには、入力値として "delta" という値が送信されます。一方、[XML に変換されたペイロード] 出力に連結されたツールには、"<root>delta</root>" という値が送信されます。
EDI Client には 2 つのリクエスト ペイロード出力があります。一方、Messaging Client の出力は 1 つだけです (単に「トラフィック」という名称です)。EDI Client はリクエストを XML から EDI 形式に自動変換する機能があるため、2 つの出力があります。
EDI Client のリクエスト出力は以下の 2 つです。
EDI の代わりに XML を送信することを選択した場合 ([フォーム入力またはフォーム XML モード時は EDI の代わりに XML を送信] モード)、[XML としてモデル化されたペイロード] 出力に連結された出力は実行されません。
Messaging Client の場合と同様に、リクエスト出力にツールを連結することで、リクエスト ペイロードを変更できます。たとえば、「ペイロード」出力に Extension ツールを連結して値を返すと、SOAtest はその値をリクエスト ペイロードとして使用します。つまり、SOAtest はその値をサーバーに送信し、Traffic Viewer でその値を参照することができます。また、[XML としてモデル化されたペイロード] 出力にツールを連結することで、メッセージの XML モデルを変更できます。
EDI Client は「ペイロード」出力の前に [XML としてモデル化されたペイロード] 出力を実行します。
たとえば、次のツールがあるとします。
EDI Client の UI で、XML から EDI への変換を行うよう選択し、プレーン テキスト形式を選択したとします。さらに、次の XML のようにリクエスト ペイロードをモデル化します。
<root>alpha</root>
EDI Client を実行すると、まず、XML としてモデル化されたリクエスト ペイロードに連結された Extension Tool 1 が実行されます。Extension Tool 1 には、次の Jython コードが指定されています。
from com.parasoft.api import Application
def main(input, context):
Application.showMessage("input:
" + str(input))
return str(input).replace("alpha", "beta")
Extension Tool 1 は、"input: <root>alpha</root>" をコンソールに出力し、"<root>beta</root>" を返します。
Extension Tool 2 には、次の Jython コードが指定されています。
from com.parasoft.api import Application
def main(input, context):
Application.showMessage("input:
" + str(input))
return str(input).replace("beta", "gamma")def main(input, context):
ツールはコンソールに "input: beta" と出力します。これは、Extension Tool 1 によって返された値
"<root>beta</root>" が、EDI Client によって root タグを削除したテキストに内部的に変換されるからです。Extension Tool 2 は文字列 "gamma" を返します。リクエスト ペイロードの Traffic Viewer で文字列 "gamma" を参照することができます。
「EDI メッセージでの作業」を参照してください。
SOAtest 9.1 でサポートされていた EDIFACT は、引き続き「ベーシック EDIFACT」形式として 利用できます。
ベーシック EDIFACT 形式は、EDI Client、Enhanced Call Back、および XML Converter で利用できます。
ベーシック EDIFACT の利用には、Message Packs ライセンスは必要ありません。ベーシック EDIFACT は、Message Packs ライセンスがカバーするダイアレクトおよびバージョンの一部をサポートします。たとえば、ダイアレクトとしては EDIFACT だけがサポートされており、バージョンとしては 10B、96B、S3、S4 および S41 だけがサポートされています。
以下の点に注意してください。