Problema ao consumir WebService

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

Moderador: Moderadores

RenatoRamos
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 22 Ago 2012 14:08
Localização: Lagoa da Prata/MG

Problema ao consumir WebService

Mensagem por RenatoRamos »

Olá, bom dia

Não sei se alguém aqui já desenvolveu comunicação com o Pharma Link, mas estou tendo problemas ao consumir o WebService, na verdade o problema
ocorre apenas quando tento consumir o método WS_Eleg_Portador, pois este método não está retornando nada. Verifiquei no fórum e vi um tópico pedindo para aumentar o tempo de resposta, mas fazendo isso o problema não foi resolvido.

Alguém sabe o que pode estar acontecendo ao tentar consumir este método.
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Problema ao consumir WebService

Mensagem por Wanderlei »

Olá Renato, eu já fiz esta PBM, poste suas dúvidas que eu te ajudo.
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
RenatoRamos
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 22 Ago 2012 14:08
Localização: Lagoa da Prata/MG

Problema ao consumir WebService

Mensagem por RenatoRamos »

Muito obrigado desde já Wanderlei.

Eu tenho a seguinte função para consumir o método WS_Eleg_Portador

Código: Selecionar todos

 FUNCTION Pbm_PharmaLink_Elegibilidade_Portador_WS()

 LOCAL aRetorno:={}, aTela

   xmldom = CREATEOBJECT("MSXML2.DOMDocument")
   xmldom:async = .T.
   xmldom:validateOnParse = .T.
   xmldom:resolveExternals := .T.
   xmldom:preserveWhiteSpace = .T.

   url :=  'http://www.conectapdv.com.br/concentrador/concentrador.asmx?wsdl'
   xmldoc = CREATEOBJECT("MSXML2.XMLHTTP")
   xmldoc:open("POST", url, .F.)
   xmldoc:SetRequestHeader( "Host" , "www.conectapdv.com.br" )
   xmldoc:SetRequestHeader( "Content-Type" , "text/xml; charset=utf-8" )
   xmldoc:SetRequestHeader( "SOAPAction" , "http://tempuri.org/WS_Eleg_Portador" )

   cCnpj      := '2876311800190'
   cTerminal  := '000001'
   cAutentica := '51131212'

   cProjeto   := 'SAN001'
   cTimestamp := STRTRAN(DTOC(DATE()),"/","") + STRTRAN(TIME(),":","")
   cCPF       := '0'
   cCartao    := '4116680730400158'
   cCanal     := ''

   Texto := '<?xml version="1.0" encoding="utf-8"?>'
   Texto +=  '<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/">'
   Texto +=   '<SOAP-ENV:Body>'
   Texto +=   '<ns1:WS_Eleg_Portador xmlns:ns1="http://tempuri.org/">'

   Texto +=   '<ns1:cIdentifica>'

   Texto +=   '<identifica>'
   Texto +=   '<cnpj>'       + cCnpj      + '</cnpj>'
   Texto +=   '<terminal>'   + cTerminal  + '</terminal>'
   Texto +=   '<autentica>'  + cAutentica + '</autentica>'
   Texto +=   '</identifica>'

   Texto +=   '</ns1:cIdentifica>'

   Texto +=   '<cProjeto>'   + cProjeto   + '</cProjeto>'
   Texto +=   '<cTimestamp>' + cTimestamp + '</cTimestamp>'
   Texto +=   '<cCartao>'    + cCartao    + '</cCartao>'
   Texto +=   '<nCPF>'       + cCPF       + '</nCPF>'
   Texto +=   '<cCanal>'     + cCanal     + '</cCanal>'

   Texto +=   '</ns1:WS_Eleg_Portador>'
   Texto +=   '</SOAP-ENV:Body>'
   Texto +=   '</SOAP-ENV:Envelope>'

	xmldom:LoadXML(Texto)
	
	IF xmldom:parseError:errorCode = 0
      *MSG_BOX("XML Carregado")
	 ELSE
      cErrorMsg = "Não foi possível carregar o documento pois ele não corresponde ao seu Schema"
      cErrorMsg += cErrorMsg + " Linha: " + STR(xmldom:parseError:line) + cCRLF
      cErrorMsg += cErrorMsg + " Caractere na linha: " + STR(xmldom:parseError:linepos) + cCRLF
      cErrorMsg += cErrorMsg + " Causa do erro: " + xmldom:parseError:reason + cCRLF
      cErrorMsg += "code: "+STR(xmldom:parseError:errorCode)
	   MSG_BOX(cErrorMsg)
	ENDIF
	
	xmldoc:send(xmldom:xml)
	
   aTela:=MENSAGEM('Comunicando com o WebService...',2)

	DO WHILE xmldoc:readyState <> 4
      MILLISEC(50)
	ENDDO

   FECHAJANELA(aTela)

   *
   Linha:=HtmlToAnsi(xmldoc:responseText)
   Linha2:=HtmlToAnsi(xmldoc:responseXML:xml)
   *
   MSG_BOX(Linha)
   MSG_BOX(Linha2)
   *
 RETURN(aRetorno)
Mas o retorno do WebService volta em branco. Você passou por isso quando desenvolveu o modulo de comunicação com este PBM ?
O que achei estranho é que a função para consumir o método WS_Busc_Projetos está funcionando perfeitamente.
Avatar do usuário
Wanderlei
Usuário Nível 3
Usuário Nível 3
Mensagens: 196
Registrado em: 25 Jan 2008 13:19
Localização: Goiânia - GO

Problema ao consumir WebService

Mensagem por Wanderlei »

Ei Renato, criei um arquivo com a função de eleger o portador que estou utilizando, espero que te ajude.
Anexos
ajuda.txt
Ajuda do Pharmalink
(12.21 KiB) Baixado 155 vezes
Wanderlei Cardoso
Analista / Programador
XHarbour + GtWvW + FiveWin + HwGui + Firebird
Skype: cwanderlei
cwanderlei@yahoo.com.br
(62)98171-3059 - whatsapp

Imagem
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Problema ao consumir WebService

Mensagem por Jairo Maia »

Olá Renato,

Não sei se este pode ser o problema, mas o CNPJ está errado. O correto é: 28763118000190. Está faltando 1 digito na sua função.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
RenatoRamos
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 22 Ago 2012 14:08
Localização: Lagoa da Prata/MG

Problema ao consumir WebService

Mensagem por RenatoRamos »

Muito obrigado Vanderlei, irei analisar o seu exemplo e informo depois o que ocorrer.

Jairo Malta o erro foi apenas na hora de digitar aqui no fórum mesmo, nos testes que estou realizando o CNPJ está correto.
RenatoRamos
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 22 Ago 2012 14:08
Localização: Lagoa da Prata/MG

Problema ao consumir WebService

Mensagem por RenatoRamos »

Vanderlei o seu exemplo funcionou perfeitamente aqui. Muito obrigado e até a próxima!
Responder