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 para importação com um ModoSíncrono transformará os dados assim que forem inseridos (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 para importação síncrona serão modificados automaticamente para Processados à 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 estão no 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 ocorre 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 do modo Síncrono e do estado Carregamento será criado. Alterar o estado para Carregado é uma maneira de indicar que um novo conjunto de importação síncrono deve ser criado para a próxima inserção de linha do conjunto de importação (e transformado imediatamente) |
Comportamento de inserção de controle
Em conjuntos para importação 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 de destino em série (um de cada vez) para evitar duplicações.
Em conjuntos para 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 de 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 de conjunto de importação, por exemplo,. imp_notification para a tabela de conjunto de importação de serviços web de notificações |
| display_name | O nome do campo que está definido como o campo de exibição do registro que foi criado ou modificado |
| display_value | O valor do campo designado como o 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, relacionada ao registro definido pelos valores de campo sys_id e tabela
|
| status_message | Este valor é convertido para o 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 é "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 |
Adaptação da 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.