Você está na página 1de 8

Agncia Nacional de Vigilncia Sanitria

Projeto SNGPC para Farmcias e Drogarias Conexo ao Webservice Manual do desenvolvedor

Verso 1.0.0

Braslia, julho de 2007.

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

Diretor-Presidente Dirceu Raposo de Mello Diretores Cludio Maierovitch P. Henriques Maria Ceclia Martins Brito Jos Agenor lvares da Silva

Elaborao Equipe tcnica do SNGPC

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

Sumrio
1. 2. OBJETIVO ............................................................................................................................ 4 ACESSIBILIDADE: ............................................................................................................... 4 2.1 2.2 ACESSO AO SERVIO: ....................................................................................................... 4 FUNCIONALIDADES (HOMOLOGAO E PRODUO) ............................................................ 6

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

1. OBJETIVO O servio webservice foi desenvolvido para que os estabelecimentos possam enviar o arquivo XML para a base de dados da Anvisa.

2. ACESSIBILIDADE: Caso os estabelecimentos no queiram transmitir o XML pela pgina de Upload disponibilizada pelo site da Anvisa, o sistema do estabelecimento dever acessar ao webservice pelo endereo remoto, utilizando o mtodo de transmisso.

2.1

Acesso ao servio: Homologao : http://homologacao.anvisa.gov.br/sngpc/webservice/sngpc.asmx

Pgina 4 de 8

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

Produo: http://sngpc.anvisa.gov.br/webservice/sngpc.asmx

Pgina 5 de 8

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

2.2

Funcionalidades (Homologao e Produo)

Esta funcionalidade tem por finalidade transmitir o arquivo XML selecionado pelo usurio, validar a estrutura do XML que deve estar de acordo com os schemas definidos e gravar o arquivo em tabela para ser, posteriormente, gravado na base de dados do SNGPC.

EnviaArquivoSNGPC Parmetros: Email: string Senha: string Arquivo: string (XML) Hashindenficacacao: string (32 caracteres)

Retorno: O retorno do mtodo do tipo string. Caso o envio seja concludo com sucesso o mtodo ir retornar a seguinte mensagem Arquivo recebido com sucesso, em DD/MM/YYY, s HH:MM:SS. O Hash calculado foi 3c7caff13d167bd5f8f4bc6cb7040a44, caso contrrio o retorno ser uma mensagem com o erro ocorrido.

Chamada:

Pgina 6 de 8

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

A forma como o webservice instanciado depende da linguagem de programao utilizada. Segue 2 exemplos: .NET e Delphi: o Visual Studio .Net Web Reference: Adicionar uma web reference com o endereo do webservice (ver item 2.1); Instncia: Aps a web reference criada, com o nome dado, criar uma instancia do webservice na aplicao. sngpcService.sngpc sngpcService.sngpc(); Mtodos: Para visualizar os mtodos, criar uma varivel string para receber o retorno do mtodo. string comp; comp = wssngpc.EnviaArquivoSNGPC(edemail.Value.ToLower(), edsenha.Text, Arquivo, HashIdentificacao); HashIdentificacao = Rotina MD5; wssngpc = new

o Delphi WSDL: Utilizar o Import WSDL com o endereo do webservice (ver item 2.1) para adicionar ao projeto a classe do webservice. Instncia: Aps adicionar a classe ao projeto, criar uma varivel com o nome da interface. var ws: wssinaisSoap; ws := GetwssinaisSoap(); Mtodos: Para visualizar os mtodos, criar uma varivel string para receber o retorno do mtodo. string comp; comp:= ws.EnviaArquivoSNGPC(email.ToLower(), edsenha.Text, Arquivo, HashIdentificacao); HashIdentificacao = Guid();

Pgina 7 de 8

Sistema Nacional de Gerenciamento de Produtos Controlados Conexo ao Webservice do SNGPC - Manual do Desenvolvedor

HashIdentificao - Rotina MD5 private String geraHash(String Arquivo) { String HashGerado; ASCIIEncoding textConverter = new ASCIIEncoding(); MD5CryptoServiceProvider Md5Provider = new MD5CryptoServiceProvider(); Byte[] ArquivoByte; Arquivo = Arquivo.Replace("\r","").Replace("\n","").Replace("\t",""); ArquivoByte = textConverter.GetBytes(Arquivo); ArquivoByte = Md5Provider.ComputeHash(ArquivoByte); HashGerado = ToHexString(ArquivoByte); return HashGerado; }

Pgina 8 de 8

Você também pode gostar