2

私はWEBMethodsを始めたばかりです。会社のドライブをポーリングする必要があるプロジェクトを開始しています M: ドライブの場所。ファイルはメインフレームからランダムに到着するので、ドライブの場所から何らかの方法でファイルを引き出す必要があります。

ファイルの解析を開始する前に、ファイルをある場所から別の場所に移動する必要があります。

もっとコードがあれば投稿しますが、WEBMethods は新しく、これまでのところ WEBMethods でコードを書いたことはありませんが、Java を使って非常にコードを書いています。

ドライブの場所:

   M:\tempTest\NewDriveLocation\ThisIsTheFileINeed

金曜日に任意の場所から直接ファイルを取り込む変換ができるようにする必要があります。MAP で入力を取得していますが、ファイルを検索できるようにファイル パスを入力する方法がわかりません。

ここに画像の説明を入力

4

1 に答える 1

3

Software AGwebMethods Integration Serverには、ファイル ポーリング ポートと呼ばれる組み込み機能があり、ローカルまたはネットワーク共有ディレクトリで新しいファイルを監視するように設定できます。ファイル ポーリング ポートを設定する方法については、『Integration Server 管理者ガイド』の手順は次のとおりです。

ファイル ポーリング ポートは、定期的に監視ディレクトリをポーリングしてファイルの到着を確認し、ファイルに対して特別な処理を実行します。新しいファイルを検出すると、サーバーはそのファイルを作業ディレクトリにコピーし、そのファイルに対して特別なファイル処理サービスを実行します。サービスは、ファイルを解析、変換、および検証してから、ファイル システムに書き込みます。あなたが作成するこのサービスは、このポートを介して呼び出すことができる唯一のサービスです。特定のファイル名でフィルタリングすることにより、サーバーが受け入れるファイルを制限できます。

ファイル ポーリングを機能させるには、次の手順を実行する必要があります。

  1. Integration Server で監視ディレクトリを設定します。ファイルのポーリングに使用されるその他のディレクトリは、Integration Server によって自動的に作成されます。

  2. ファイル処理サービスを作成し、それを Integration Server で利用できるようにします。このようなサービスの例については、 webMethods Service Development HelpおよびFlat File Schema Developer's Guideを参照 してください。

  3. Integration Server でファイル ポーリング ポートを設定します。

次の手順を使用して、ファイル ポーリング ポートを Integration Server に追加します。

  1. まだ開いていない場合は、Integration Server Administrator を開きます。

  2. ナビゲーション パネルの [セキュリティ] メニューで、[ポート] をクリックします。

  3. [ポートの追加] をクリックします。

  4. 画面の [ポートの追加] 領域で、webMethods/FilePolling を選択します。

  5. [送信] をクリックします。Integration Server Administrator は、ポートに関する情報を要求する画面を表示します。

  6. [パッケージ] で、次の情報を入力します。

    • パッケージ名 - このポートに関連付けられたパッケージ。パッケージを有効にすると、サーバーはポートを有効にします。パッケージを無効にすると、サーバーはポートを無効にします。

      特別なファイル処理を行う場合は、その処理を行うサービスを含むパッケージを指定してください。このポートからフラット ファイルを処理する場合は、フラット ファイルの処理に使用できる組み込みサービスを含む WmFlatFile を選択します。

      注: このパッケージを複製すると、同じマシン上のサーバーまたは別のマシン上のサーバーのどちらに複製しても、同じ設定のファイル ポーリング ポートがターゲット サーバーに作成されます。ターゲット サーバーにファイル ポーリング ポートが既に存在する場合、その設定はそのまま残ります。元のサーバーとターゲット サーバーが同じマシン上にある場合、それらは同じ監視ディレクトリを共有します。ターゲット サーバーが別のマシンに存在する場合、デフォルトでは、ターゲット サーバーのマシンに別の監視ディレクトリが作成されます。

    • エイリアス - ポートのエイリアス。エイリアスの長さは 1 ~ 255 文字で、ASCII 文字、数字、アンダースコア (_)、ピリオド (.)、およびハイフン (-) を 1 つ以上含める必要があります。

    • 説明 - ポートの説明。

  7. [ポーリング情報] で、次の情報を入力します。

    • 監視ディレクトリ - ファイルを監視する Integration Server 上のディレクトリ。

    • 作業ディレクトリ (オプション) - 監視ディレクトリでファイルが識別された後、サーバーが処理のためにファイルを移動する Integration Server 上のディレクトリ。ファイルは、作業ディレクトリに移動する前に、経過時間とファイル名の要件を満たしている必要があります。ディレクトリが指定されていない場合、デフォルトのサブディレクトリである MonitoringDirectory..\Work が自動的に作成されます。\

    • 完了ディレクトリ (オプション) - 監視ディレクトリまたは作業ディレクトリで処理が完了したときにファイルを移動する Integration Server のディレクトリ。ディレクトリが指定されていない場合、デフォルトのサブディレクトリ MonitoringDirectory..\Done が自動的に作成されます。

    • エラー ディレクトリ (オプション) - 処理が失敗したときにファイルを移動する Integration Server 上のディレクトリ。ディレクトリが指定されていない場合、デフォルトのサブディレクトリ MonitoringDirectory..\Error が自動的に作成されます。

    • ファイル名フィルター (オプション) - 監視ディレクトリ内のファイルのファイル名フィルター。サーバーは、フィルター要件を満たすファイルのみを処理します。このフィールドを指定しない場合、すべてのファイルがポーリングされます。このフィールドでパターン マッチングを指定できます。

    • ファイル経過時間 (オプション) - 監視ディレクトリ内のファイルを処理できる最小経過時間 (秒単位)。サーバーは、監視ディレクトリでファイルが最後に変更された日時に基づいて、ファイルの経過時間を判断します。ファイル全体が監視ディレクトリにコピーされる前にサーバーがファイルを処理しないように、必要に応じてこの経過時間を調整できます。デフォルトは 0 です。

    • コンテンツ タイプ - ファイルに使用するコンテンツ タイプ。サーバーは、このフィールドで指定されたコンテンツ タイプに関連付けられたコンテンツ ハンドラを使用します。値が指定されていない場合、サーバーはファイル拡張子に基づいて MIME マッピングを実行します。

    • 再帰的ポーリングを許可 - Integration Server が監視ディレクトリ内のすべてのサブディレクトリをポーリングするかどうか。[はい] または [いいえ] を選択します。 クラスタリングを有効にする Integration Server が監視ディレクトリでのクラスタリングを許可するかどうか。はいまたはいいえを選択します。

    • 間隔ごとに処理するファイル数 (オプション) - ファイル ポーリング リスナーが間隔ごとに処理できるファイルの最大数を指定します。正の整数を指定すると、ファイル ポーリング リスナーは監視ディレクトリからその数のファイルのみを処理します。監視ディレクトリに残っているファイルは、後続の間隔で処理されます。値が指定されていない場合、リスナーは監視ディレクトリ内のすべてのファイルを処理します。

  8. [セキュリティ] の下の [ユーザーとしてサービスを実行] パラメーターで、ファイル ポーリング ディレクトリに割り当てられたサービスを実行するために使用するユーザー名を指定します。クリックして検索し、ユーザーを選択します。ユーザーは、内部ユーザーでも外部ユーザーでもかまいません。

  9. [メッセージ処理] で、次の情報を指定します。

    • 有効化 - このファイル ポーリング ポートを有効化 (Yes) するか無効化 (No) するか。

    • 処理サービス - Integration Server がポーリングされたファイルに対して実行するサービスの名前。ファイルが作業ディレクトリにコピーされると、サーバーはこのサービスを実行します。このサービスは、このポートから利用できる唯一のサービスである必要があります。

      重要!ファイル ポーリング ポートの処理サービスを変更する場合は、このポートから使用できるサービスのリストも変更して、新しいサービスだけを含める必要があります。詳細については、以下を参照してください。

    • ファイルのポーリング間隔 - Integration Server が監視ディレクトリでファイルをポーリングする頻度 (秒単位)。

    • ディレクトリの可用性が変更された場合のみログに記録: 「いいえ」(デフォルト)を選択すると、監視ディレクトリが使用不可になるたびに、リスナーはメッセージをログに記録します。

      [はい] を選択すると、リスナーは次のいずれかの場合にメッセージをログに記録します。

      • ディレクトリは最後のポーリング試行中に使用可能でしたが、現在の試行中には使用できませんでした

      • 前回のポーリング試行ではディレクトリを使用できませんでしたが、現在の試行では使用できます

    • ディレクトリは NFS マウント ファイル システムです - 監視ディレクトリ、作業ディレクトリ、完了ディレクトリ、エラー ディレクトリがローカル ファイル システムにマウントされたネットワーク ドライブである UNIX システムで使用します。

      [いいえ] (デフォルト) を選択すると、リスナーは Java File.renameTo() メソッドを呼び出して、ファイルを監視ディレクトリから作業ディレクトリに移動し、作業ディレクトリから完了および/またはエラー ディレクトリに移動します。

      [はい] を選択すると、リスナーは最初に Java File.renameTo() メソッドを呼び出して、監視ディレクトリからファイルを移動します。このメソッドが失敗した場合、リスナーは監視ディレクトリから作業ディレクトリにファイルをコピーし、監視ディレクトリからファイルを削除します。コピー アクションまたは削除アクションのいずれかが失敗した場合、この操作は失敗します。ファイルを作業ディレクトリから完了ディレクトリやエラー ディレクトリに移動する場合も、同じ動作が適用されます。

    • クリーンアップ サービス (オプション) - ポーリング情報で指定されたディレクトリをクリーンアップするために使用するサービスの名前。

    • Cleanup At Startup - ファイル ポーリング ポートの開始時に、完了ディレクトリとエラー ディレクトリにあるファイルをクリーンアップするかどうか。

    • Cleanup File Age (オプション) - 処理されたファイルをディレクトリから削除するまで待機する日数。デフォルトは 7 日です。

    • クリーンアップ間隔 (オプション) - Integration Server が処理済みファイルのクリーンアップをチェックする頻度 (時間単位)。デフォルトは 24 時間です

    • 呼び出しスレッドの最大数 - Integration Server がこのポートに使用するスレッドの数。1 ~ 10 の数字を入力します。デフォルトは 10 です。

  10. [変更を保存] をクリックします。

  11. ポートのアクセス モードが適切に設定されていること、およびファイル処理サービスがポートからアクセスできる唯一のサービスであることを確認してください。

    • [ポート] 画面で、作成したポートの [アクセス モード] フィールドで [編集] をクリックします。

    • [アクセス モードをデフォルトで拒否に設定] をクリックします。

    • [フォルダーとサービスを許可リストに追加] をクリックします。

    • [Enter one folder or service per line] の下のテキスト ボックスに、このポートの処理サービスの名前を入力します。

    • 許可リストから他のサービスを削除します。

    • [追加を保存] をクリックします。

      注: ファイル ポーリング ポートの処理サービスを変更する場合は、ポートの許可リストも忘れずに変更してください。上記の手順に従って、許可されたサービス リストを変更します。

    • ファイル ポーリング ポートの処理サービスを変更する場合は、ポートの許可リストも忘れずに変更してください。上記の手順に従って、許可されたサービス リストを変更します。

上記の処理サービスは、お客様が開発する必要があるサービスです。

ファイル ポーリング ポートを使用して XML ファイルを処理している場合、ファイルはサービスを呼び出す前に解析されるため、オブジェクト型node(解析された XML ドキュメント) という単一の入力引数を持つサービスを作成する必要があります。次に、WmPublic パッケージの pub.xml サービスを使用して ( IData ドキュメントpub.xml:xmlNodeToDocumentへの変換などnode)、提供されたnodeオブジェクトを処理できます。pub.xml サービスの詳細については、Integration Server 組み込みサービス リファレンスを参照してください。

フラット ファイル (webMethods では XML 以外のもの) を処理している場合、ファイル ポーリング ポートは、ファイルの内容を読み取ることができる java.io.InputStream オブジェクトを使用してサービスを呼び出します。と呼ばれるオブジェクト型の単一の入力引数ffdata。次に、WmPublic パッケージの pub.io サービス (pub.io:streamToBytesストリーム内のすべてのデータをバイト配列に読み取るなど) または WmFlatFile パッケージの pub.flatFile サービス ( IData ドキュメントpub.flatFile:convertToValuesへの変換など) を使用して、ffdata提供されたffdataオブジェクト。pub.io サービスの詳細についてはIntegration Server Built-In Services Referenceを、pub.flatFile サービスの詳細についてはFlat File Schema Developer's Guideを参照してください。

XML ファイルとフラット ファイルの両方が監視対象のディレクトリに書き込まれている場合は、オプションでnodeffdataオブジェクトの両方を受け入れるサービスを作成し、実行時にどちらがパイプラインに存在するかを確認してそれに応じて処理するか、2 つのファイル ポーリング ポートを作成して、同じディレクトリを監視しますが、ポートのファイル名フィルター設定を使用して、異なるファイル拡張子 (つまり、それぞれ *.xml と *.txt) をチェックします。

Windows ファイル共有をポーリングする場合は、ファイル ポーリング ポートでUNCファイル パス ( など)を使用してディレクトリを指定できます。\\server\directory

また、Integration Server を実行するユーザー アカウントに、ファイル ポーリング ポートで構成されたさまざまなディレクトリへの適切なファイル アクセス権があることを確認する必要があります。

于 2014-01-28T00:04:29.343 に答える