Web サービスインポートセットモード
SOAP メッセージによってインポートセットテーブルにレコードが挿入され、そのテーブルに [ロード中] ステータスのインポートセットがない場合は、[モード] が [同期] に設定された新しいインポートセットが作成されます。
[モード] が [同期] に設定されたインポートは、挿入されるとすぐにデータを変換します (変換マップが既に存在する場合)。このインポートセットのデフォルト [ステータス] も [ロード中] です。デフォルトでは、すべての [同期] インポートセットは午前 0 時に自動的に [処理済み] に変更されます。その結果、同じテーブルに対して新しい挿入が行われると、新しい [同期] インポートセットが作成されます。
| モード | 状況 | 関数 |
|---|---|---|
| 非同期 | ロード中 | データ変換が自動的かつ即座に行われません。インポートセット行に追加されたデータのステータスが「処理待ち」です。ステータスが [ロード完了] に変更されたときに、変換をスケジュール設定するか、手動で実行できます。 |
| 非同期 | ロード完了 | データのロードが完了したことを示します。データ変換は、スケジュールされた方法または手動で実行できるようになりました。 |
| 同期 | ロード中 | データ変換は、関連付けられたインポートセット行にデータが挿入されるたびに自動的に実行されます。 |
| 同期 | ロード完了 | この関連付けられたインポートセットに新しいデータが挿入されると、モードが [同期] でステータスが [ロード中] の新しいインポートセットが作成されます。ステータスを [ロード完了] に変更すると、次のインポートセット行の挿入のために新しい [同期] インポートセットを作成する必要があることを示すことができます |
挿入動作のコントロール
1 つ以上の結合フィールドを指定するインポートセットでは、重複を防ぐために、一致する結合値を持つレコードがソーステーブルからターゲットテーブルに順次変換されます。
結合フィールドが指定されていないインポートセットでは、レコードが同時に変換されます。この動作は glide.import_set_insert_serialized_when_no_coalesce プロパティを使用してコントロールできます。
glide.import_set_insert_serialized.<table name> システムプロパティは、インスタンスが Web サービス呼び出しから特定のインポートセットテーブルにレコードを挿入する方法をコントロールします。true の場合、このプロパティは、データベースの挿入操作をシリアル化することによって、同一の同時挿入によって重複レコードが作成されるのを防ぎます。ターゲットテーブルの変換マップで結合フィールドが定義されていない場合は、このプロパティを [false] に設定すると、Web サービスインポートセットのパフォーマンスが向上します。
標準 SOAP 応答
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><insertResponse><sys_id>fa648f5f0a0a0b2b0048e7012448b8f1</sys_id><table>incident</table><display_name>number</display_name><display_value>INC10014</display_value><status>inserted</status></insertResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
| フィールド | 説明 |
|---|---|
| sys_id | 作成または変更された結果レコードの sys_id |
| table | 影響を受けたテーブルのテーブル名。[非同期] 呼び出しの場合、テーブル名はインポートセットテーブルになります (例:通知 Web サービスインポートセットテーブルの imp_notification)。 |
| display_name | 作成または変更されたレコードの表示フィールドとして設定されているフィールドの名前 |
| display_value | 表示フィールドとして指定されたフィールドの値。たとえば、[インシデント] テーブルの表示フィールドは [番号] フィールドで、値の例は INC10001 です。 |
| status | sys_id と table フィールド値によって定義されたレコードに関連する、Web サービスの発動の結果として発生したアクションを示す文字列値
|
| status_message | この値は、インポートセット行の [コメント] フィールドにある値に変換され、通常は [ステータス] 値に関連する情報が含まれています。例:ステータスが [無視] の場合は「変更されたフィールド値はありません」この値をカスタマイズされた文字列値に設定すると、返されるオプションの status_message フィールドが SOAP 応答に含まれます。 |
| error_message | [エラー] のステータスに関連するメッセージ。エラーが発生した場合、この値をカスタマイズされた文字列値に設定すると、返されるオプションの error_message フィールドが SOAP 応答に含まれます。 |
SOAP 応答のカスタマイズ
変換スクリプトを使用して status_message の内容を上書きすることで、WSDL で指定された情報以外の情報を含めることができます。