Clipper On Line • Ver Tópico - webservice para SNGPC

webservice para SNGPC

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

webservice para SNGPC

Mensagempor angeiras » 04 Mai 2011 15:32

Olá,

Depois de muito tempo gerando o XML e usando o próprio site do SNGPC para enviar meus arquivos, decidi que já era hora de enviar esses arquivos do meu sistema.

Criei os tres serviços oficiais do SNGPC ( validar usuário, enviar arquivo XML e testar arquivo enviado ) mais a importação do inventário direto da ANVISA.

Essa primeira rotina, valida um email/senha para ver se esta cadastrado no SNGPC da ANVISA. No código estão os endereços de homologação e produção.

//
// WebService com xHarbour
//
// Nesse exemplo estamos testando se o email/senha do usuario
// esta cadastrado no SNGPC da ANVISA.
//
// Existem ainda mais 2 servicos :
//
// a) enviar arquivo XML.
// b) verificar se arquivo XML enviado foi validado.
//
// Manoel Angeiras
//

#define CR_LF chr(13) + chr(10)

***************
FUNCTION MAIN()
***************
   if !InternetOK()
      Alert("Conexao com a internet falhou !")
   else
      Alert("Conexao OK")
   endif
   //
   // Abertura das funcoes para WebService do xHarbour
   //
   try
      doc := CreateObject( "MSXML2.DOMDocument" )
   catch
      try
         doc := CreateObject( "MSXML2.DOMDocument" )
      catch
         Alert("Erro na criacao do objeto MSXML2.DOMDocument : " + Ole2TxtError())
         return NIL
      end
   end

   try
      http := CreateObject( "MSXML2.XMLHTTP" )
   catch
      try
         http := CreateObject( "MSXML2.XMLHTTP" )
      catch
         Alert("Erro na criacao do objeto MSXML2.XMLHTTP : " + Ole2TxtError())
      end
   end
   //
   // Criar o XML request
   //
   cXml := ""
   cXml += '<?xml version="1.0" encoding="utf-8"?>' + CR_LF
   cXml += '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">' + CR_LF
   cXml += '  <soapenv:Header/>' + CR_LF
   cXml += '  <soapenv:Body>' + CR_LF
   cXml += '    <tem:ValidarUsuario>' + CR_LF
   cXml += '      <tem:Email>seu_email_aqui</tem:Email>' + CR_LF // SEU EMAIL AQUI
   cXml += '      <tem:Senha>sua_senha_aqui</tem:Senha>' + CR_LF           // SUA SENHA AQUI
   cXml += '    </tem:ValidarUsuario>' + CR_LF
   cXml += '  </soapenv:Body> ' + CR_LF
   cXml += '</soapenv:Envelope>' + CR_LF

//
// ENDERECO DE HOMOLOGACAO
//   
   http:Open( "POST", "http://homologacao.anvisa.gov.br/sngpc/webservice/sngpc.asmx?WSDL HTTP/1.1", .F. )
   http:SetRequestHeader( "Content-Type"   , "text/xml;charset=UTF-8" )
   http:SetRequestHeader( "SOAPAction"     , "http://tempuri.org/ValidarUsuario" )
   http:SetRequestHeader( "Host"           , "homologacao.anvisa.gov.br" )

//
// ENDERECO DE PRODUCAO
//   
// http:Open( "POST", "http://sngpc.anvisa.gov.br/webservice/sngpc.asmx?WSDL HTTP/1.1", .F. )
// http:SetRequestHeader( "Content-Type"   , "text/xml;charset=UTF-8" )
// http:SetRequestHeader( "SOAPAction"     , "http://tempuri.org/ConsultaDadosArquivoSNGPC" )
// http:SetRequestHeader( "Host"           , "sngpc.anvisa.gov.br" )

   Alert("Carrega o request...")
   doc:LoadXML( cXml )                // Carrega o request de string

   Alert("Envia o xml...")
   http:send( doc:xml )               // Envia o request

   Alert("Ler a resposta...")
   response  := http:responseText     // Recebe a resposta

   Alert("Apresentando a resposta")

   oXmlDoc := TXmlDocument():new()
   oXMlDoc:read( response )

   oXmlNode := oXmlDoc:findFirst( "ValidarUsuarioResult" )
   Alert(oXmlNode:cName + " = " + oXmlNode:cData )

RETURN NIL

*********************
FUNCTION InternetOK()
*********************
   local aHosts, cName, cAddress := "www.google.com.br"
   InetInit()
   aHosts := InetGetHosts( cAddress )
   if aHosts == NIL .or. len(aHosts) == 0
      InetCleanup()
      return .F.
   endif
   InetCleanup()
RETURN .T.


Se alguem quiser os serviços de enviar XML e testar arquivo, posso publicar aqui também.

[]s
Angeiras
Clipper 5.2e + sixcdx + catools + nanfor
xHarbour 1.0.0 + gtwvw / xHarbour 1.2.1 + Fivewin
angeiras
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 134
Data de registro: 21 Nov 2005 19:53
Cidade/Estado: Olinda/PE
Curtiu: 0 vez
Mens.Curtidas: 11 vezes

webservice para SNGPC

Mensagempor williamdebritoadami » 09 Mai 2011 13:02

Olá Sr. Manoel, primeiramente muito obrigado pelo exemplo para trabalhar com XML do SNGPC , faz tempo que eu estava procurando como fazer.
Se o sr. puder postar o restante do codigo, mostrando como transmitir o XML e testar o arquivo, seria de grande ajuda.

Muito obrigado

William de Brito Adami
williamdebritoadami
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 09 Mai 2011 12:53
Cidade/Estado: Pouso Alegre - MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

webservice para SNGPC

Mensagempor angeiras » 15 Jun 2011 11:37

Olá William,

Pra não ficar duplicando os meus posts, coloquei esse e outros exemplos no blog que criei :

http://angeiras.blogspot.com/

[]s
Angeiras
Clipper 5.2e + sixcdx + catools + nanfor
xHarbour 1.0.0 + gtwvw / xHarbour 1.2.1 + Fivewin
angeiras
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 134
Data de registro: 21 Nov 2005 19:53
Cidade/Estado: Olinda/PE
Curtiu: 0 vez
Mens.Curtidas: 11 vezes

webservice para SNGPC

Mensagempor marcos.gurupi » 04 Mai 2017 18:18

Caro Angeiras, vc teria o exemplo ai ainda? Tentei entrar no seu blog mas nao funciona mais. Obrigado
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 930
Data de registro: 06 Jul 2004 11:53
Cidade/Estado: Gurupi-TO
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

webservice para SNGPC

Mensagempor marcos.gurupi » 10 Mai 2017 21:14

Alguem teria um caminho das pedras para o SNGPC ?
Marcos Roberto
NetService Software
marcos.gurupi
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 930
Data de registro: 06 Jul 2004 11:53
Cidade/Estado: Gurupi-TO
Curtiu: 0 vez
Mens.Curtidas: 6 vezes

webservice para SNGPC

Mensagempor angeiras » 11 Mai 2017 10:50

Olá,

Dia desses no fórum fivewin, postaram os exemplos que fiz para cada mensagem de comunicação com a ANVISA. Dá uma olhada em http://fivewin.com.br/index.php?/topic/27047-sngpc-do-zero-preciso-de-ajuda/.

Acho que tá bem completo. Se faltar alguma coisa é só perguntar.

[]s
M.Angeiras
Clipper 5.2e + sixcdx + catools + nanfor
xHarbour 1.0.0 + gtwvw / xHarbour 1.2.1 + Fivewin
angeiras
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 134
Data de registro: 21 Nov 2005 19:53
Cidade/Estado: Olinda/PE
Curtiu: 0 vez
Mens.Curtidas: 11 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro