Pessoal, boa tarde.
Iremos utilizar o Tissnet versão 4.2 para validação de mensagems XML enviadas pelo prestador. Montei um código de teste, para validar alguns arquivos XML na versão 2.01.03 da seguinte forma:
1 - Instancio uma variável para a mensagem (pacote br.gov.ans.padroes.tiss.schemas.v20103):
MensagemTiss mTiss = new MensagemTiss();
2 - Defino o arquivo XML:
mTiss.setArquivoXml("caminho_completo_arquivo");
3 - Validação do schema:
MensagemTISS retorno = mTiss.toObjetoEsquemaTISSV20103();
O objeto retornado consta sempre com os atributos cabecalho, operadoraParaPrestador, prestadorParaOperadora e epilogo nulos, situação não ocorrida se utilizamos um arquivo XML na versão 2.01.02 (não houve customização em nenhum classe do TissNet até o momento). No console, aparece sempre o erro abaixo, para qualquer uma das versões:
Error: Document is invalid: no grammar found.
Error: Document root element "ans:mensagemTISS", must match DOCTYPE root "null".
Utilizo a versão 5 do Java, atualização 16. Baixei todos os schemas do site da ANS e os atualizei, para conferir se era algum problema com os mesmos, mas o erro citado persiste. Tentei também atualizar as bibliotecas da API JAXB contidas na aplicação, porém sem nenhuma mudança no problema.
Alguém já passou por situação semelhante, ou pode me dar uma orientação do que está causando tal problema? :roll:
Segue abaixo o exemplo de XML na versão 2.01.03, que estamos tentando validar.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<ans:mensagemTISS xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ans="http://www.ans.gov.br/padroes/tiss/schemas">
<ans:cabecalho>
<ans:identificacaoTransacao>
<ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao>
<ans:sequencialTransacao>166</ans:sequencialTransacao>
<ans:dataRegistroTransacao>14/04/2008</ans:dataRegistroTransacao>
<ans:horaRegistroTransacao>16:50</ans:horaRegistroTransacao>
</ans:identificacaoTransacao>
<ans:origem>
<ans:codigoPrestadorNaOperadora>
<ans:CNPJ>51846871000161</ans:CNPJ>
</ans:codigoPrestadorNaOperadora>
</ans:origem>
<ans:destino>
<ans:registroANS>346659</ans:registroANS>
</ans:destino>
<ans:versaoPadrao>2.01.03</ans:versaoPadrao>
</ans:cabecalho>
<ans:prestadorParaOperadora>
<ans:loteGuias>
<ans:numeroLote>166</ans:numeroLote>
<ans:guias>
<ans:guiaFaturamento>
<ans:guiaSP_SADT>
<ans:identificacaoGuiaSADTSP>
<ans:registroANS>346659</ans:registroANS>
<ans:dataEmissaoGuia>14/02/2008</ans:dataEmissaoGuia>
<ans:numeroGuiaPrestador>54526453</ans:numeroGuiaPrestador>
</ans:identificacaoGuiaSADTSP>
<ans:numeroGuiaPrincipal>54526453</ans:numeroGuiaPrincipal>
<ans:dadosAutorizacao>
<ans:dataAutorizacao>14/02/2008</ans:dataAutorizacao>
<ans:senhaAutorizacao>123456</ans:senhaAutorizacao>
</ans:dadosAutorizacao>
<ans:dadosBeneficiario>
<ans:numeroCarteira>0100092105671008</ans:numeroCarteira>
<ans:nomeBeneficiario>LUIZ VANZELLA</ans:nomeBeneficiario>
<ans:nomePlano>TESTE</ans:nomePlano>
<ans:validadeCarteira>31/12/2008</ans:validadeCarteira>
<ans:numeroCNS>44552266</ans:numeroCNS>
<ans:identificadorBeneficiario/>
</ans:dadosBeneficiario>
<ans:dadosSolicitante>
<ans:contratado>
<ans:identificacao>
<!--You have a CHOICE of the next 3 items at this level -->
<ans:codigoPrestadorNaOperadora>12345678</ans:codigoPrestadorNaOperadora>
</ans:identificacao>
<ans:nomeContratado>HOSPITAL DO OLHO RIO PRETO</ans:nomeContratado>
<ans:enderecoContratado>
<ans:tipoLogradouro>008</ans:tipoLogradouro>
<ans:logradouro>JOSE MUNIA</ans:logradouro>
<ans:numero>55</ans:numero>
<ans:complemento/>
<ans:codigoIBGEMunicipio>0354980</ans:codigoIBGEMunicipio>
<ans:municipio>SAO JOSE DO RIO PRETO</ans:municipio>
<ans:codigoUF>SP</ans:codigoUF>
<ans:cep>15090500</ans:cep>
</ans:enderecoContratado>
<ans:numeroCNES>2097656</ans:numeroCNES>
</ans:contratado>
<ans:profissional>
<ans:nomeProfissional>CLAUDIO DALLOUL</ans:nomeProfissional>
<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>89770</ans:numeroConselho>
<ans:ufConselho>SP</ans:ufConselho>
</ans:conselhoProfissional>
<ans:cbos>06147</ans:cbos>
</ans:profissional>
</ans:dadosSolicitante>
<ans:prestadorExecutante>
<ans:identificacao>
<ans:CNPJ>51846871000161</ans:CNPJ>
</ans:identificacao>
<ans:nomeContratado>HOSPITAL DO OLHO RIO PRETO</ans:nomeContratado>
<ans:enderecoContratado>
<ans:tipoLogradouro>008</ans:tipoLogradouro>
<ans:logradouro>JOSE MUNIA</ans:logradouro>
<ans:numero>55</ans:numero>
<ans:complemento/>
<ans:codigoIBGEMunicipio>0354980</ans:codigoIBGEMunicipio>
<ans:municipio>SAO JOSE DO RIO PRETO</ans:municipio>
<ans:codigoUF>SP</ans:codigoUF>
<ans:cep>15090500</ans:cep>
</ans:enderecoContratado>
<ans:numeroCNES>2097656</ans:numeroCNES>
<ans:profissionalExecutanteCompl>
<ans:nomeExecutante>CLAUDIO DALLOUL</ans:nomeExecutante>
<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>89770</ans:numeroConselho>
<ans:ufConselho>SP</ans:ufConselho>
</ans:conselhoProfissional>
<ans:codigoCBOS>06147</ans:codigoCBOS>
</ans:profissionalExecutanteCompl>
</ans:prestadorExecutante>
<ans:indicacaoClinica></ans:indicacaoClinica>
<ans:caraterAtendimento>U</ans:caraterAtendimento>
<ans:dataHoraAtendimento>14/02/2008H16:30</ans:dataHoraAtendimento>
<ans:diagnosticoAtendimento>
<ans:CID>
<ans:nomeTabela>CID-10</ans:nomeTabela>
<ans:codigoDiagnostico>H33</ans:codigoDiagnostico>
<ans:descricaoDiagnostico>DESCOLAMENTOS E DEFEITOS DA RETINA</ans:descricaoDiagnostico>
</ans:CID>
<ans:tipoDoenca>A</ans:tipoDoenca>
<ans:indicadorAcidente>2</ans:indicadorAcidente>
</ans:diagnosticoAtendimento>
<ans:tipoSaida>5</ans:tipoSaida>
<ans:tipoAtendimento>04</ans:tipoAtendimento>
<ans:procedimentosRealizados>
<ans:procedimentos>
<ans:procedimento>
<ans:codigo>50140043</ans:codigo>
<ans:tipoTabela>00</ans:tipoTabela>
<ans:descricao>RETINOPEXIA COM INTROFLEXAO ESCLERAL + VITRECTOMIA + ENDOFOT</ans:descricao>
</ans:procedimento>
<ans:data>14/02/2008</ans:data>
<ans:horaInicio>16:30</ans:horaInicio>
<ans:horaFim>16:30</ans:horaFim>
<ans:quantidadeRealizada>1</ans:quantidadeRealizada>
<ans:viaAcesso>U</ans:viaAcesso>
<ans:tecnicaUtilizada>C</ans:tecnicaUtilizada>
<ans:reducaoAcrescimo>0</ans:reducaoAcrescimo>
<ans:valor>1140.80</ans:valor>
<ans:valorTotal>1140.80</ans:valorTotal>
</ans:procedimentos>
</ans:procedimentosRealizados>
<ans:outrasDespesas>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>00097046</ans:codigo>
<ans:tipoTabela>00</ans:tipoTabela>
<ans:descricao>AGULHA DESC. HIP 25 X 7 TW INJEX</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>3</ans:tipoDespesa>
<ans:dataRealizacao>14/02/2008</ans:dataRealizacao>
<ans:horaInicial>16:30</ans:horaInicial>
<ans:horaFinal>16:30</ans:horaFinal>
<ans:reducaoAcrescimo>0</ans:reducaoAcrescimo>
<ans:quantidade>3</ans:quantidade>
<ans:valorUnitario>0.46</ans:valorUnitario>
<ans:valorTotal>1.38</ans:valorTotal>
</ans:despesa>
</ans:outrasDespesas>
</ans:guiaSP_SADT>
</ans:guiaFaturamento>
</ans:guias>
</ans:loteGuias>
</ans:prestadorParaOperadora>
<ans:epilogo>
<ans:hash>e643abafc6d32b8a355ad1dd95965827</ans:hash>
</ans:epilogo>
</ans:mensagemTISS>
obs: tentando efetuar a conversão para objeto “na mão”, com o código abaixo, o erro ocorrido é o mesmo.
JAXBContext jc = JAXBContext.newInstance( "br.gov.ans.padroes.tiss.schemas.v20103" );
MensagemTISS mensagem = null;
Unmarshaller unmarshaller = jc.createUnmarshaller();
String arquivo = "caminho_para_arquivo";
File file = new File( arquivo );
mensagem = (MensagemTISS) unmarshaller.unmarshal(new FileInputStream(
file.getAbsolutePath()));
Obrigada a todos pela ajuda.