Consultores Italo Giurizzato Junior Posted June 24 Consultores Share Posted June 24 Olá Pessoal, Devemos tomar muito cuidado ao gerar o XML, pois temos tag de diversos tipos. Tipos de tags e o que ela pode conter: Numéricas: neste caso só aceitam dígitos e o ponto decimal, exemplo: 250 ou 300.00 Data: neste caso só aceitam dígitos, a barra "/" ou o sinal de menos "-" (o mais comum é o sinal de menos), exemplo: 2024-06-24 Hora: neste caso só aceitam dígitos e o dois ponto ":", exemplo: 10:34:00 Data/Hora: é a combinação dos dois acima, exemplo: 2024-06-24T10:34:00 (temos a letra "T" entre a data e a hora Data/Hora no formato UTC: temos a Data/Hora seguida do Timezone, exemplo: 2024-06-24T10:34:00-03:00 Caracter: neste caso podemos informar uma sequencia de caracteres alfanumérica que pode conter alguns símbolos, exemplo: Rua Nove de Julho, 1250 Agora, justamente a tag do tipo caracter costumamos ver vários problemas. Por que? Existem alguns tipos de caracteres como por exemplo: "&" (e comercial comum em nome de empresas), aspas, apóstrofes e os sinais de "<" e ">" que podem não ser válidos dentros das tags. Em alguns casos o componente até pode os converter para uma sequencia chamada html entities. Mas algumas vezes o webservice (em especial de alguns provedores de NFS-e) pode recusar o seu XML acusando que a assinatura esta inválida. Devemos então evitar ao máximo utiliza-los. Detalhando: Lembre-se que os caracteres "<" e ">" aparecem no XML para indicar o inicio e o fim do nome de uma tag, exemplo: <Endereco>. As aspas são usadas para indicar o inicio e o fim do valor de um atributo, exemplo: <det nItem="1">, nItem é o atributo e o seu valor 1 esta entre aspas. Fica a dica, se você enviar um XML para o webservice da SEFAZ ou para um provedor de NFS-e e o mesmo for recusado pelo fato da assinatura estar invalida, abra o XML com o bloco de notas e procure as tags do tipo caracter e veja o seu conteúdo, pode ser que alguma dessas tags contenha um caracter ou html entities que possa estar invalidando a assinatura. A solução neste caso é os remover. 7 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Araraquara - A era dos Trólebus Link to comment Share on other sites More sharing options...
Recommended Posts