Farmacia Popular - RESOLVIDO

Salve galera!!!
Galera seguinte, estou penando com essa Farmacia popular.

Eu tenho que chamar um executavel de dentro do java, como mostrado no código abaixo:

public static String adquirirDNAEstacao(String cpf, String cnpj, String crm, String uf, String dataDaReceitaFormatada, String diretorio) {
        StringBuilder sb = new StringBuilder("");
        try {
            String solicitacao = "gbasmsb.exe --solicitacao " + cnpj.trim() + " " + cpf.trim() + " " + crm.trim() + " " + uf.trim() + " " + dataDaReceitaFormatada.trim();
            Reader reader;
            BufferedReader input;

            reader = null;
            input = null;

            File file = new File(diretorio);
            String dir = file.getCanonicalPath();
            String comando = null;
            comando = (new StringBuilder()).append(dir).append(File.separator).append(solicitacao).toString();
            String line = null;
            Process process = Runtime.getRuntime().exec(comando);
            reader = new InputStreamReader(process.getInputStream());
            input = new BufferedReader(reader);
            do {
                if ((line = input.readLine()) == null) {
                    break;
                }
                if (line != null) {
                    sb.append(line.trim());
                }
            } while (true);
            System.out.println("");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

Até ai funciona blza, mas quando eu mando o retorno desse metodo para validação no governo esta dando dando o seguinte erro:

Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.

Alguem está mexendo com isso?

Att

[quote=vcsmetallica]Salve galera!!!
Galera seguinte, estou penando com essa Farmacia popular.

Eu tenho que chamar um executavel de dentro do java, como mostrado no código abaixo:

public static String adquirirDNAEstacao(String cpf, String cnpj, String crm, String uf, String dataDaReceitaFormatada, String diretorio) {
        StringBuilder sb = new StringBuilder("");
        try {
            String solicitacao = "gbasmsb.exe --solicitacao " + cnpj.trim() + " " + cpf.trim() + " " + crm.trim() + " " + uf.trim() + " " + dataDaReceitaFormatada.trim();
            Reader reader;
            BufferedReader input;

            reader = null;
            input = null;

            File file = new File(diretorio);
            String dir = file.getCanonicalPath();
            String comando = null;
            comando = (new StringBuilder()).append(dir).append(File.separator).append(solicitacao).toString();
            String line = null;
            Process process = Runtime.getRuntime().exec(comando);
            reader = new InputStreamReader(process.getInputStream());
            input = new BufferedReader(reader);
            do {
                if ((line = input.readLine()) == null) {
                    break;
                }
                if (line != null) {
                    sb.append(line.trim());
                }
            } while (true);
            System.out.println("");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

Até ai funciona blza, mas quando eu mando o retorno desse metodo para validação no governo esta dando dando o seguinte erro:

Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.

Alguem está mexendo com isso?

Att

[/quote]

Ola, tudo bem, tambem estou usando o mesmo metodo so que em C# mas estou tendo o mesmo erro, vc ja conseguiu algum avanco na sua rotina
.
att

Cara,

Bem vindo ao mundo do Geverno.
Estou conversando tambem com a turma de Delphi, eles estão com o mesmo problema. Estamos achando que esse erro é da turma do governo, por que nada esta validando la.

Att

Galera,

Consegui resolver esse problema na minha aplicação.

O que estava errado era o CPF. Estava passando o CPF do atendente e tem que passar o CPF do paciente.

Att

vcsmetallica

Outra coisa

a ordem dos dados sao essa

gbasmsb.exe --solicitacao " + cpf.trim() + " " + cnpj.trim() + " " + crm.trim() + " " + uf.trim() + " " + dataDaReceitaFormatada.trim();

No meu codigo acima esta errado.

Caros Colegas,

O farmacia popular esta retornando agora o erro:

“109S Código de Identificação da Máquina não definido”

No primeiro retorno do WebService…

Alguem sabe como resolver isso ?

Estou cadastrando a maquina pelo aplicativo do governo, copiando o código gerado na internet, esta criando a autenticaçao pelo gbasmsb.exe pelo meu aplicativo normalmente mas nao passa da primeira fase…

Grato,
Rogério
E-mail: rogerio.ricardo@uol.com.br

[quote=vcsmetallica]Salve galera!!!
Galera seguinte, estou penando com essa Farmacia popular.

Eu tenho que chamar um executavel de dentro do java, como mostrado no código abaixo:

public static String adquirirDNAEstacao(String cpf, String cnpj, String crm, String uf, String dataDaReceitaFormatada, String diretorio) {
        StringBuilder sb = new StringBuilder("");
        try {
            String solicitacao = "gbasmsb.exe --solicitacao " + cnpj.trim() + " " + cpf.trim() + " " + crm.trim() + " " + uf.trim() + " " + dataDaReceitaFormatada.trim();
            Reader reader;
            BufferedReader input;

            reader = null;
            input = null;

            File file = new File(diretorio);
            String dir = file.getCanonicalPath();
            String comando = null;
            comando = (new StringBuilder()).append(dir).append(File.separator).append(solicitacao).toString();
            String line = null;
            Process process = Runtime.getRuntime().exec(comando);
            reader = new InputStreamReader(process.getInputStream());
            input = new BufferedReader(reader);
            do {
                if ((line = input.readLine()) == null) {
                    break;
                }
                if (line != null) {
                    sb.append(line.trim());
                }
            } while (true);
            System.out.println("");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sb.toString();
    }

Até ai funciona blza, mas quando eu mando o retorno desse metodo para validação no governo esta dando dando o seguinte erro:

Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.

Alguem está mexendo com isso?

Att

[/quote]

Então,

Voce vai ter que entrar no site do ministerio da saude https://189.28.128.37/portalfarmacia/login.jsf

Descadastrar o seu computador e cadastrar ele novamente. Voce cadastre ele manual.
Estava com esse problema tambem, ai todos os dias que vou testar a minha aplicação eu faço esses passos.

Att

vcsmetallica

Você quer dizer ir na opção de excluir e incluir novamente o computador ?

Acho que já fiz isso e não adiantou…

Posso tentar novamente, mas acha que é isso mesmo ?

Será que não é problema do governo mesmo ?

Grato,
Rogério
E-mail: rogerio.ricardo@uol.com.br

[quote=vcsmetallica]Então,

Voce vai ter que entrar no site do ministerio da saude https://189.28.128.37/portalfarmacia/login.jsf

Descadastrar o seu computador e cadastrar ele novamente. Voce cadastre ele manual.
Estava com esse problema tambem, ai todos os dias que vou testar a minha aplicação eu faço esses passos.

Att

vcsmetallica[/quote]

Caro,

Ja exclui, inclui novamente o computador, no manual, no automático, troquei o nome do computador e nada…

Só me informa a mensagem:

" 109S O endereço fisico do computador não informado! "

Não entendo…Será que não é algum problema lá ? Pois ainda nem entrou em vigor esse novo modelo…

Alguma idéia ?

Grato,
Rogério
E-mail: rogerio.ricardo@uol.com.br

[quote=rogerio4321]Você quer dizer ir na opção de excluir e incluir novamente o computador ?

Acho que já fiz isso e não adiantou…

Posso tentar novamente, mas acha que é isso mesmo ?

Será que não é problema do governo mesmo ?

Grato,
Rogério
E-mail: rogerio.ricardo@uol.com.br

[quote=vcsmetallica]Então,

Voce vai ter que entrar no site do ministerio da saude https://189.28.128.37/portalfarmacia/login.jsf

Descadastrar o seu computador e cadastrar ele novamente. Voce cadastre ele manual.
Estava com esse problema tambem, ai todos os dias que vou testar a minha aplicação eu faço esses passos.

Att

vcsmetallica[/quote][/quote]