MID サーバー経由の送信 REST/SOAP メッセージの ECC キューでステータスが「エラー」で「センサーが定義されていません」になっているのはなぜですか?Issue MID サーバー経由でアウトバウンド REST または SOAP メッセージ連携を実行している場合、次のように ECC キュー入力を設定できます。 State = ErrorError String = No sensors defined これはスクリプティング API に適用され、REST または SOAP メッセージメソッド定義フォームの [テスト] 関連リンクによって作成されたメッセージにも適用されます。 注意:これは、MID サーバーを使用する他の連携プローブにも適用される可能性があります。ディスカバリーでこのエラーが確認される場合は、KB0547844、KB0717362 などを参照してください。 Causeこのエラーは、実際には「定義されたディスカバリーセンサーがありません」という意味です。MID サーバーがデザインされた理由はディスカバリーに関連しています。デザイン当時に存在した、センサーのビジネスルールは「ディスカバリー - センサー」のみであり、このエラーもこのルールに由来します。SystemCommand などの他のすべての MID サーバープローブでは、ECC キュー出力ペイロードパラメーター skip_sensors=true が使用され、「ディスカバリー - センサー」はスキップされていました。 その後登場したディスカバリーの MID サーバーを利用する新しいアプリケーションや機能でも、ECC パラメーターに skip_sensors=true を設定して、ディスカバリー - センサーでプローブからの結果が処理されないようにする必要があります。ほとんどの場合そのように設定されていますが、例外もあります。ResolutionSOAPMessageV2 または RESTMessageV2 のスクリプトを作成するときは、メッセージ用に独自の ecc_queue ビジネスルールセンサーを作成した場合でも、常に skip_sensor=true パラメーターを設定する必要があります。 これは、API の setEccParamater() メソッドで行います。以下のドキュメントを参照してください。 RESTMessageV2 - setEccParameter(String name, String value)SOAPMessageV2 - setEccParameter(String name, String value) 例えば、次のようになります。 var sm = new sn_ws.RESTMessageV2("Yahoo Finance", "get"); sm.setBasicAuth("admin","admin"); sm.setStringParameter("symbol", "NOW"); sm.setStringParameterNoEscape("xml_data","<data>test</data>"); sm.setMIDServer('mid_server_name'); sm.setEccParameter("skip_sensor","true"); // prevent Discovery sensors running for the ECC input sm.setEccCorrelator("rest.yahoo"); // unique identifier for this message, used by the custom sensor business rule for matching the ecc_queue input sm.executeAsync(); // send the ECC queue output and end this script. The Sensor business rule will carry on once the response arrives back from the MID Server 当該のケースに MID サーバーが関係している場合は、executeAsync() が正しく使用されるよう注意してください。 skip_sensor 属性を追加してこれを「解決」した後、すべての入力レコードが準備完了ステータスでスタックしていることが判明する場合があります。処理済みとして設定する種類のセンサーが存在しない場合、この動作が正常である可能性があります。 これらの 2 つのポイントの詳細については、以下を参照してください。 KB0694711 アウトバウンド REST Web サービスの RESTMessageV2 および SOAPMessageV2 の execute() と executeAsync() の比較KB0716391 RESTMessageV2 および SOAPMessageV2 のベストプラクティスPRB1305586 RESTMessageV2/SOAPMessageV2 API により、センサー ECC ビジネスルールなしで MID サーバーを同期して実行できるため、スリープ中にインスタンススレッドがブロックされ、スケジューラーに過負荷がかかるRelated Linksこの問題は、次の確認済みの問題チケットに関連しています。KB0727122 「ディスカバリー - センサー」ビジネスルールが、ディスカバリー以外の ecc_queue 入力に対して実行される