回避策:リモートシステムに親レコードが挿入されたときに Outbound_Vars_Json を受信できない 用語 Remote Task Definition:以降、以下の KB では RTD と記載します。Remote Task:以降、以下の KB では RT と記載します。 問題の説明 Service Bridge for Provider および Consumer アプリケーションのバージョン 2.0.20 以降では、Service Bridge 側の設計変更により、自発的な outbound_vars_json が返されません。お客様は、ターゲット/リモートシステムで親タスクレコードが作成されるとすぐに親タスク番号を取得できるように、アウトバウンドマッピングで RTD を構成しています。しかし、これは実行されません。 Service Bridge for Provider / Consumer の影響を受けるバージョン sn_sb_pro : 2.0.20、2.0.30 ... 2.1.30 までsn_sb_con : 2.0.20、2.0.30 ... 2.1.30 までアプリケーション バージョン (sn_sb_pro、sn_sb_con) 2.2.0 以降で修正予定 回避策の手順 Provider(インストール済みプラグイン:sn_sb_pro)インスタンスの場合: 手順 1:ここに添付されている次の名前の更新セットを適用します:sys_remote_update_set_ba96af7293959210b15e39018bba108d.xml 手順 2:Consumer から親タスクを作成してテストします。 成功:Provider インスタンスで親タスクが作成されるとすぐに outbound_vars_json が返され、Consumer の親レコードの対応するフィールドに更新された場合。 失敗:そのリモートタスクの Transport Queue リストに outbound_vars_json が見つからない場合は、リモートタスクが Status = connected に更新されていることを確認してください。[All]>[System Log]>[log]で、「SNow-Pro-BR_001」から始まるメッセージを確認してください。これにより、BR が実行されたかどうかが分かります。 Consumer (インストール済みプラグイン: sn_sb_con) インスタンス 手順 1:ここに添付されている次の名前の更新セットを適用します:sys_remote_update_set_c5a7cb72eb5d1e10ea03fde5bad0cd30.xml 手順 2:Provider から親タスクを作成してテストします。 成功:Consumer インスタンスで親タスクが作成されるとすぐに outbound_vars_json が返され、Provider の親レコードの対応するフィールドに更新された場合。 失敗:そのリモートタスクの Transport Queue リストに outbound_vars_json が見つからない場合は、リモートタスクが Status = connected に更新されていることを確認してください。[All]>[System Log]>[log]で、「SNow-Con-BR_001」から始まるメッセージを確認してください。これにより、BR が実行されたかどうかが分かります。 <重要>バージョン 2.0.40 以降のリリースにアップグレードする前に: 次のアプリ(sn_sb_pro/sn_sb_con)のバージョン 2.0.40 以降のリリースにアップグレードする前に、以下に記載されている 2 つのオプションのいずれか 1 つに従う必要があります。 オプション 1:アップグレードが正常に完了した後は、Provider および Consumer インスタンスで不要になるため、上記の更新セットによって作成されたこのビジネスルールを無効化できます(Active フラグを false に設定します)。 オプション 2:作成されたビジネスルールを削除できるように、上記の更新セットをバックアウトします。 恒久対応 恒久的な修正の提供状況の詳細については、以下を確認してください。この問題は 2 段階で修正されています。最初の修正にも、以下に示す断続的な問題があります。 // In API below SBRemoteTaskUtil()._setRemoteTaskOutboundJSON() { .. ... remoteTaskGR.parent.getRefRecord(); // This getRefRecord() is failing on customer side ... ... } この問題は、リリース 2.2.0 以上 の PRB1847705 によって修正されています。 PRB : PRB1817771PRB1847705 (DEF0627617):https://support.servicenow.com/problem.do?sys_id=c70f7062931f9210101833527cba1051 問題の説明 Service Bridge for Provider および Consumer アプリケーションのバージョン 2.0.55 以降では、sys_class_name が空であるため、Consumer 側の outbound_vars_json が空になります。 Service Bridge for Provider / Consumer の影響を受けるバージョン sn_sb_con : 2.0.55アプリケーション バージョン (sn_sb_pro、sn_sb_con) 2.2.0 以降で修正予定 回避策の手順 Consumer (インストール済みプラグイン: sn_sb_con) インスタンス 手順 1:ここに添付されている次の名前の XML をアップロードします:sys_script_f6ae047deb95d610ea03fde5bad0cd8e.xml 手順 2:Provider から親タスクを作成してテストします。 成功 : Transport Queue の更新により、Consumer 側で Remote Task が作成された直後に outbound_vars_json が空でないことを確認できます。 失敗:Consumer 側のリモートタスクで outbound_vars_json が空の場合は、リモートタスクが Status = connected に更新されていることを確認してください。[All]>[System Log]>[log]で、「SNow-Con-BR_001」から始まるメッセージを確認してください。これにより、BR が実行されたかどうかが分かります。 重要 : バージョン 2.0.55 以降へアップグレードする前 次のアプリケーション リリース (sn_sb_pro / sn_sb_con) の 2.0.55 以上 へアップグレードする前に、以下の 2 つのオプションのいずれか 1 つ を実施する必要があります。 オプション 1: 上記で提供された Update Set によって作成された Business Rule を無効化します (Active フラグを false に設定)。 アップグレードが正常に完了した後は、Provider および Consumer インスタンスでこの Business Rule は不要になります。 オプション 2 : 上記の Update Set を Back out します。 これにより、作成された Business Rule を削除できます。 恒久対応 恒久対応の提供状況については、以下を参照してください。 PRB1847705 (DEF0627617) - https://support.servicenow.com/problem.do?sys_id=c70f7062931f9210101833527cba1051この恒久対応では、この回避策の実施によってインスタンス内に作成された Business Rule も削除されます。