Página 1 de 1

Problema ao consumir WebService

Enviado: 28 Ago 2012 08:40
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.

Problema ao consumir WebService

Enviado: 28 Ago 2012 11:11
por Wanderlei
Olá Renato, eu já fiz esta PBM, poste suas dúvidas que eu te ajudo.

Problema ao consumir WebService

Enviado: 28 Ago 2012 11:24
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.

Problema ao consumir WebService

Enviado: 28 Ago 2012 12:10
por Wanderlei
Ei Renato, criei um arquivo com a função de eleger o portador que estou utilizando, espero que te ajude.

Problema ao consumir WebService

Enviado: 28 Ago 2012 12:17
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.

Problema ao consumir WebService

Enviado: 28 Ago 2012 13:04
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.

Problema ao consumir WebService

Enviado: 28 Ago 2012 14:15
por RenatoRamos
Vanderlei o seu exemplo funcionou perfeitamente aqui. Muito obrigado e até a próxima!