Truncar automaticamente para MaxLength durante o mapeamento
-
19-09-2019 - |
Pergunta
Eu tenho um esquema que tem o comprimento máximo de propriedade definida em todos os seus elementos, de diferentes tamanhos.Eu sou o mapeamento para ele e esperar que o comprimento máximo ser excedido com bastante frequência.
Existe uma maneira de dizer BizTalk para truncar automaticamente sem ter que ir e configurar manualmente uma functoid de cada elemento?
Há um propósito para o tamanho máximo da propriedade de outros que a validação?
Solução
Não há nenhuma funcionalidade para fazer o que você deseja no BizTalk mapper - você certamente poderia escrever algum tipo de pré ou pós-processador que iria fazer isso, mas eu sugiro que você está indo no caminho errado.
Ele vai dar mais trabalho, mas eu aconselho a investigar por que sua origem e de destino sistemas de ter tais esquemas diferentes.Ele é provavelmente um sinal de alerta que você deseja truncar tantos campos, para ser capaz de transmitir a informação.
Vai valer a pena o seu tempo para trabalhar fora:
- São estes maxLength elementos estritamente necessário?
- Vai truncamento de qualquer de seus campos causar problemas, seja tecnicamente ou para os usuários de negócios?
- Deve alguns desses campos em vez de estar a ser dividido?Talvez um sistema que define um único 100 caracteres do campo de endereço, enquanto o outro sistema tem uma rua e uma cidade de campo.
A propriedade maxLength define por quanto tempo um elemento de conteúdo que pode ser.Então, sim, é única finalidade é fornecer adicionais, regras de validação para o seu esquema.
maxLength· prevê:
•Constrangimento ·o valor de espaço· para valores com mais de um número específico de unidades de comprimento, onde as unidades de o comprimento varia dependendo {tipo de base definição}.
Eu prefiro a palavra que eles usam constrangimento sobre a palavra validação - para mim isso mais claramente expressa o conceito do seu esquema XML a ser um contrato que define o que o sistema vai ser passar para outros sistemas.Facetas como maxLength dizer (para o leitor do esquema) que os sistemas esperando para consumir estes dados pode muito bem quebrar se eles são passados nada mais do que o maxLength.