インストールされたサービスの1つが呼び出されるたびに、入力および出力パイプライン(xmldata)を書き込むサービスを作成しようとしています。他のサービスが呼び出されたとき、私のサービスはどのように知る必要がありますか? in&out パイプラインをキャッチしてファイルやその他のソースに保存する組み込みツールはありますか?
1 に答える
WmPublic
パッケージ内の webMethods の組み込みサービスのいずれかを使用できます。
pub.flow:savePipelineToFile
明らかなパフォーマンス/リソース上の理由から、本番環境で「savePipelineToFile」を使用することはお勧めできません。そしてもちろん、ファイルからパイプラインをロードするには、次を使用します。
pub.flow:restorePipelineFromFile
webMethods でのデバッグの通常のワークフローは次のとおりです。
- フロー サービスの最初の命令として「savePipelineToFile」ステップを追加します。
- フロー サービスを実行するか、フロー サービスをトリガーするクライアントから実行します。
- フロー サービスの「savePipelineToFile」ステップを無効にします。
- フロー サービスの最上部に「restorePipelineFromFile」ステップを追加します。
- webMethods Designer をデバッグ モードで実行し、ステップスルーします。「restorePipelineFromFile」ステップを通過すると、クライアントから渡された入力を含むパイプラインのコンテンツ全体が表示されます。フロー サービスを段階的に進めていくと、最終的な出力が表示されるはずです。
サービス「savePipelineToFile」および「restorePipelineFromFile」は、サービスのデバッグに非常に役立ちます。「パイプライン」ファイルは次の場所にあります。
IntegrationServer\pipeline
要件によって xml フラット ファイルを生成する必要がある場合は、次を使用します。
ドキュメントを xml にシリアル化するには (WmPublic パッケージ)
pub.xml:documentToXMLString
xml 文字列をファイルに書き込む (WmPublic パッケージ)
pub.file:stringToFile
それが役に立てば幸い!
編集:
デフォルトでは、soap ヘッダーは非表示になっています。ほとんどの場合、SOAP ヘッダーは必要ありませんが、次の手順を実行することで、webMethods に強制的に SOAP ヘッダーをパイプラインに追加させることができます。
1) Web サービス記述子をクリックします。
2) プロパティ パネルで、"Pipeline Headers Enabled" を true に設定します。
SOAP ヘッダーは、設計時にパイプラインに表示されません。実行時にのみ存在します。SOAP ヘッダーの内容を確認したい場合は、前に説明した "savePipelineToFile" / "restorePipelineFromFile" 手法を使用する必要があります。
設計時に SOAP ヘッダーを表示するには、SOAP ヘッダー フィールドが存在するかのように暗黙的にマッピングする必要があります。