Discussão sobre o TISSNet, Web Services e Ponto-a-ponto

Utilizo a versão que vem junto com o TissNet4.2, com o nome de bcprov-jdk15-131.jar.

Estou desenvolvendo uma pequena aplicação para ler um txt e exportar para XML no padrão do TISS. Utilizo o Eclipse 3.4 desenvolvendo na plataforma cliente servidor.

Entao … é a mesma versao q eu estou usando … essa classe esta identica a q eu estou usando também … a unica diferenca eh q a minha app esta num glassfish e eh web … pode ser alguma coisa relacionada com issu …
mas a linha de comando q muda la o ANS … é essa mesmo … igual a q eu passei ai p vc !

da uma revisada … pode ser q alguma coisa de anormal esteja acontecendo ai … q q coisa me avisa q eu estou a disposição ! … t+

:slight_smile:

ghzatomic, Boa tarde.

O problema anterior vou deixar por último para resolver. Gostaria que me ajudasse num outro problema, se for possível.
Estou gerando a mensagem TISS. Mas para ela estar completa, preciso gerar o Hash dos dados. Pesquisei nas listas de discussão e vi alguns tópicos, mas nenhum dos que achei fala claramente como gerar esse código. Li que o cógido é gerado a partir dos dados, sem as tags.
mas como faço para gerar? Existe alguma classe do Tissnet que faça isso?

Desculpe se a pergunta é básica, mas não tem sido fácil depois de anos e anos em VB.NET trabalhar com java. rsrsrsrsrsrs

Entao … vou passar o codigo como eu fiz ,…

(…)

ObjectFactory OBJ_FACTORY = new ObjectFactory();
        if (mensagemTiss.getCabecalho() == null) {
            mensagemTiss.setCabecalho(OBJ_FACTORY.createCabecalhoTransacao());
        }
        MensagemTISS.Epilogo epilogo = OBJ_FACTORY.createMensagemTISSEpilogo();
        epilogo.setHash("0");
        mensagemTiss.setEpilogo(epilogo);
        MensagemTiss mTiss = new MensagemTiss();
        try {
            mTiss.setDocumentoMensagem(mensagemTiss);
        } catch (Exception e) {
        }

        mensagemTiss.getEpilogo().setHash(mTiss.getHashCalculado());
        JAXBContext jaxbContext;

(…)

e por ai vai … heheheh nao sei c ta certo … mas resolveu meu problema :wink:

Velu cara, mais uma vez muito obrigado.
Já estou quase terminando. :smiley:

Só mais uma coisa,
gerei o arquivo XML e utilizei o site http://tools.decisionsoft.com/schemaValidate/ para realizar a validação. Selecionei o arquivo tissV2_01_03.xsd e executei o teste.
Retornou o seguinte erro:

The following errors were found:

TYPE LOC MESSAGE
Well Formed -1, -1 Premature end of file.

Tem noção de qual problema seria?

a cara … eu desisti de usar issu ai :wink: … eu abro o tiss net ponto a ponto e valido por la … eh mais facil ! :smiley:

Marco, bom dia.
Comigo está acontecendo esse mesmo problema. Você conseguiu resolver?

Entao … eu nao uso o validador do site … pq parece q da sempre o mesmo erro … eu uso o validador do client do tiss la …

akele jar q vem no projeto … to usando assim , tem gente q ja ta usando e ta funfando certim :smiley:

q q coisa da um toke !

era esse erro q vc tinho perguntado ?

vlw

foi mal não ter especificado o erro.
Seguindo sua dica, resolvi fazer o o teste com as próprias classes do Tissnet. Estou tentando validar o xml da seguinte forma:

		[code]//VALIDAÇÃO ARQUIVO GERADO
		MensagemTiss mTiss = new MensagemTiss(); 
		mTiss.setArquivoXml(txtDestino.getText()); 
		MensagemTISS retorno = mTiss.toObjetoEsquemaTISSV20103();[/code]

Aí da o seguinte erro:

Error: Document is invalid: no grammar found. Error: Document root element "ans:mensagemTISS", must match DOCTYPE root "null". Error: cvc-elt.1: Cannot find the declaration of element 'ans:mensagemTISS'.

Segue também o conteúdo do XML gerado:

[code]

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

<ans:mensagemTISS xmlns=“http://www.ans.gov.br/padroes.tiss.schemas.v20103” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV2_01_03.xsd” xmlns:ans=“http://www.ans.gov.br/padroes.tiss.schemas.v20103”>
ans:cabecalho
ans:identificacaoTransacao
ans:tipoTransacaoENVIO_LOTE_GUIAS</ans:tipoTransacao>
ans:sequencialTransacao1</ans:sequencialTransacao>
ans:dataRegistroTransacao11/09/2008</ans:dataRegistroTransacao>
ans:horaRegistroTransacao13:47</ans:horaRegistroTransacao>
</ans:identificacaoTransacao>
ans:origem
ans:codigoPrestadorNaOperadora
ans:CNPJ13808803000119</ans:CNPJ>
</ans:codigoPrestadorNaOperadora>
</ans:origem>
ans:versaoPadrao2.01.03</ans:versaoPadrao>
</ans:cabecalho>
ans:prestadorParaOperadora
ans:loteGuias
ans:numeroLote1</ans:numeroLote>
</ans:loteGuias>
</ans:prestadorParaOperadora>
ans:epilogo
ans:hash091b64b9309c2c56fb27ec4db4ae0a8d</ans:hash>
</ans:epilogo>
</ans:mensagemTISS>[/code]

Alguns posts atrás, algumas pessoas tiveram esse problema, mas nãi tem nenum post informando se o prob foi resolvido nem como foi resolvido.
mais uma vez, obrigado pela ajuda.

boa noite a todos.

Estou gerando o meu XML com as classes do TISSNET 4.2 e essas classes geram o cabeçalho contendo o seguinte fragmento

xmlns="http://www.ans.gov.br/padroes.tiss.schemas.v20103

quando o correto seria

xmlns="http://www.ans.gov.br/padroes/tiss/schemas

Alguem sabe a causa desse problema?

obs: Cabeçalho gerado:
<ans:mensagemTISS xmlns=“http://www.ans.gov.br/padroes.tiss.schemas.v20103” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV2_01_03.xsd” xmlns:ans=“http://www.ans.gov.br/padroes.tiss.schemas.v20103”>

[quote=andrapt]boa noite a todos.

Estou gerando o meu XML com as classes do TISSNET 4.2 e essas classes geram o cabeçalho contendo o seguinte fragmento

xmlns="http://www.ans.gov.br/padroes.tiss.schemas.v20103

[/quote]

Arley, tudo bom?

Dentro da sua pasta de schemas tem esta outra pasta separando os schemas pela versão??
Caso tenha e os .xsds estejam lá acho que não terá maiores problemas.
Quando você joga o arquivo no TISSNet ele valida o hash corretamente???

Abraços

Olá Pessoal

Sou desenvolvedor e estou com uma dúvida em relação aos WebServices.

A minha dúvida é se eu tenho que desenvolver vários webservices, um para cada wsdl (tissLoteGuiasV2_01_03.wsdl, tissSolicitacaoProcedimentoV2_01_03.wsdl, tissSolicitacaoStatusProtocoloV2_01_03.wsdl …)

ou posso simplesmente desenvolver um único webservice - tissTransmiteMensagemV2_01_03.wsdl e receber qualquer tipo de informação via String. Parece que o TissNet só utiliza essa última opção.

Se alguém puder ajudar, ficaria grato.
abraço
Rogério

[quote=rbamartins][quote=andrapt]boa noite a todos.

Estou gerando o meu XML com as classes do TISSNET 4.2 e essas classes geram o cabeçalho contendo o seguinte fragmento

xmlns="http://www.ans.gov.br/padroes.tiss.schemas.v20103

[/quote]

Arley, tudo bom?

Dentro da sua pasta de schemas tem esta outra pasta separando os schemas pela versão??
Caso tenha e os .xsds estejam lá acho que não terá maiores problemas.
Quando você joga o arquivo no TISSNet ele valida o hash corretamente???

Abraços[/quote]

Olá …
Na minha solução acontece a mesma coisa … utilizo o .jar do TissNet e ele gera o cabeçalho com pontinhos, idêntico ao do Arley.
Desse jeito, qdo coloco o .xml na aplicação do TissNet para testar … dá erro.

vc conseguiu resolver Arley? alguém? :?:

abraços
Rogério

[quote=orogerio]Olá Pessoal

Sou desenvolvedor e estou com uma dúvida em relação aos WebServices.

A minha dúvida é se eu tenho que desenvolver vários webservices, um para cada wsdl (tissLoteGuiasV2_01_03.wsdl, tissSolicitacaoProcedimentoV2_01_03.wsdl, tissSolicitacaoStatusProtocoloV2_01_03.wsdl …)

ou posso simplesmente desenvolver um único webservice - tissTransmiteMensagemV2_01_03.wsdl e receber qualquer tipo de informação via String. Parece que o TissNet só utiliza essa última opção.

Se alguém puder ajudar, ficaria grato.
abraço
Rogério[/quote]

cara… eu criei um para cada wsdl. Terei até q rever essa solução aqui na empresa.
Qq novidade te aviso.

abraços

Caro Rogério, eu não consegui identificar a causa do problema, então optei por solucionar o efeito.
Fiz um replace e substitúí o valor errado pelo certo, pode n ter sido a melhjor opção, mas foi a opção q deu certo no momento.

segur o trecho em que substituí o texto:


PrintWriter out = new PrintWriter(new FileWriter(txtDestino.getText()));
out.print(buffer.toString().replace("padroes.tiss.schemas.v20103", "padroes/tiss/schemas"));
out.close();

Olá Arley, obrigado por responder

achei legal a sua idéia, mas como sou iniciante em Java, não estou conseguindo chegar naquele ponto de substituir.
segue meu código. Vc poderia me dizer qual foi a saída que vc deu na última linha do código? e qual o tipo da variável buffer q vc usa

            [code]
            JAXBContext jaxbContext = JAXBContext.newInstance("br.gov.ans.padroes.tiss.schemas.v20103");
            Marshaller marshaller = jaxbContext.createMarshaller();                
            marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", new ANSPrefixMapper());
            marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.TRUE);
            marshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, schemaPath);
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
            
            marshaller.marshal(mensagemTISSAux, "Oque vai aqui");                                                     
           [/code]

Agradeço a atenção
valeu
Rogério

[quote=andrapt]Caro Rogério, eu não consegui identificar a causa do problema, então optei por solucionar o efeito.
Fiz um replace e substitúí o valor errado pelo certo, pode n ter sido a melhjor opção, mas foi a opção q deu certo no momento.

segur o trecho em que substituí o texto:

[code]

PrintWriter out = new PrintWriter(new FileWriter(txtDestino.getText()));
out.print(buffer.toString().replace(“padroes.tiss.schemas.v20103”, “padroes/tiss/schemas”));
out.close();

[/code][/quote]

Alguem poderia fazer a graça e postar um codigo MD5 para criar o HASH… ou dizer o codigo necessário para informar o arquivo que deve ser criptografado?

gracias,

Itamar

Bom dia pessoal,

Estou na luta com o TISSNet x Glassfish,

Fiz o deploy do tissnet4.2 para o glassfish, até aqui tudo bem.

O que ocorre é que quando dou um view na wsdl já disponível como um webservice a pagina fica em branco, não carrega o wsdl.

Já copiei a pasta schema para o \bin do appserver e nada.

alguém idéia do q pode ser?

Obrigado,

nenhum post :frowning:

só pra constar: Problema resolvido.

Pessoal, estou com esse erro que postei nesse tópico http://www.guj.com.br/posts/list/115080.java .

Alguém sabe me dizer o motivo?

abraços