Modo de conjunto de importação de serviço Web
Quando uma mensagem SOAP insere um registro em uma tabela de conjunto de importação e não há nenhum conjunto de importação para essa tabela no estado Carregando, um novo conjunto de importação será criado com o Modo definido como Síncrono.
Um conjunto de importação com um ModoSíncrono transformará os dados assim que for inserido (desde que o mapa de transformação já exista). Este conjunto de importação também terá um Estado padrão de Carregamento. Por padrão, todos os conjuntos de importação síncrona serão modificados automaticamente para Processado à meia-noite. Como resultado, quando uma nova inserção ocorrer na mesma tabela, um novo conjunto de importação síncrona será criado.
| Modo | Estado | Função |
|---|---|---|
| Assíncrono | Carregando | A transformação de dados não está ocorrendo automaticamente e imediatamente. Os dados adicionados à linha do conjunto de importação têm um estado "Pendente". A transformação pode ser programada ou executada manualmente quando o estado é alterado para Carregado |
| Assíncrono | Carregado | Marca a conclusão do carregamento de dados. A transformação de dados agora pode ocorrer de forma programada ou manualmente. |
| Síncrono | Carregando | A transformação de dados está ocorrendo automaticamente e imediatamente sempre que os dados são inseridos na linha do conjunto de importação associado. |
| Síncrono | Carregado | Quando novos dados forem inseridos neste conjunto de importação associado, um novo conjunto de importação de modo Síncrono e carregamento de estado será criado. Alterar o estado para Carregado é uma maneira de indicar que um novo conjunto de importação síncrona deve ser criado para a próxima inserção de linha de conjunto de importação (e transformado imediatamente) |
Comportamento de inserção de controle
Em conjuntos de importações que especificam um ou mais campos de aglutinação, os registros com um valor de aglutinação correspondente são transformados da tabela de origem para a tabela de destino em série (um de cada vez) para evitar duplicações.
Em conjuntos de importação que não especificam nenhum campo de aglutinação, os registros são transformados simultaneamente. Você pode controlar esse comportamento usando a propriedade glide.import_set_insert_serialized_when_no_coalesce.
A propriedade do sistema glide.import_set_insert_serialized.<table name> controla como a instância insere registros de chamadas de serviço Web em uma tabela de conjunto de importação específica. Quando verdadeira, esta propriedade evita que inserções simultâneas idênticas criem registros duplicados, serializando as operações de inserção do banco de dados. Se uma tabela de destino não tiver campos de aglutinação definidos em um mapa de transformação, defina esta propriedade como falsa para melhorar o desempenho do conjunto de importação do serviço Web.
Resposta SOAP padrão
<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>
| Campo | Descrição |
|---|---|
| SYS_ID | O Sys_id do registro resultante que foi criado ou modificado |
| tabela | O nome da tabela que foi afetada. No caso de uma chamada assíncrona, o nome da tabela seria a tabela do conjunto de importação, por exemplo. imp_notification para a tabela de conjunto de importação do serviço Web de notificações |
| display_name | O nome do campo definido como o campo de exibição do registro que foi criado ou modificado |
| display_value | O valor do campo designado como campo de exibição. Por exemplo, o campo de exibição da tabela Incidente é o campo Número e um valor de exemplo seria INC10001 |
| status | Um valor de cadeia de caracteres que indica a ação que ocorreu como resultado da invocação do serviço Web, relacionado ao registro definido pelos valores de campo da tabelasys_id e
|
| status_message | Este valor se traduz no valor encontrado no campo Comentário da linha do conjunto de importação e geralmente contém informações relacionadas ao valor do status, por exemplo,. "Nenhum valor de campo alterado" quando o status for "ignorado". Definir este valor como um valor de cadeia de caracteres personalizado fará com que a resposta SOAP contenha um campo status_message opcional a ser retornado. |
| error_message | A mensagem relacionada a um status de erro. Quando ocorre um erro, definir este valor como um valor de cadeia de caracteres personalizado fará com que a resposta SOAP contenha um campo error_message opcional a ser retornado |
Adaptando a resposta SOAP
É possível incluir informações diferentes das especificadas no WSDL substituindo o conteúdo de status_message usando o script de transformação.