|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Inicio → WINDEV 25 → WX - Consumindo um Webservice com httpResponse, envelope soap, header soap usando post |
WX - Consumindo um Webservice com httpResponse, envelope soap, header soap usando post |
Iniciado por BOLLER, out., 24 2017 9:43 PM - 6 respostas |
| |
| | | |
|
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em outubro, 24 2017 - 9:43 PM |
//EXEMPLO PROCEDURE WS_Login(Empresa, Matricula, Senha)
sUserId, sCPF, sUrl, sNome, sFilial, sSaldo is string
sXML is string = StringBuild("<?xml version=""1.0"" encoding=""utf-8""?>" + "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">" + "<soap:Body><Login xmlns=""wxinformatica"">" + "<ent><UserId>0</UserId><IMEI>1234567890</IMEI><latitude>0</latitude><longitude>0</longitude><AccessToken></AccessToken><device><marca>Samsung</marca><modelo>S8+</modelo><versao>7.1.1</versao><resWidth>1920</resWidth><resHeight>1080</resHeight></device></ent>" + "<empresa>@EMPRESA@</empresa><matricula>@MATRICULA@</matricula><senha>@SENHA@</senha>" + "</Login></soap:Body></soap:Envelope>")
sXML = Replace(sXML,"@EMPRESA@",empresa) sXML = Replace(sXML,"@MATRICULA@",matricula) sXML = Replace(sXML,"@SENHA@",senha)
xDoc is xmlDocument = XMLOpen(sXML,fromString)
req is httpRequest
req..URL = "https://wxinformatica.com.br/ws.asmx" req.Header["SOAPAction"] = "wxinformatica/Login" req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.42000)" req.Method = httpPost, req.ContentType = "text/xml; charset=utf-8"
req.Content = XMLBuildString(xDoc)
cMyResponse is httpResponse = HTTPSend(req)
IF ErrorOccurred THEN
Error(ErrorInfo(errFullDetails))
ELSE
xDoc = XMLOpen(cMyResponse..Content,fromString)
sUserId = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1] sCPF = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[2] sUrl = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[3] sNome = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[4] sFilial = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[5] sSaldo = xDoc..NoeudRacine[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[1]..NoeudFils[6]
Info(sUserId, sCPF, sUrl, sNome, sFilial, sSaldo) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Mensagem modificada, outubro, 24 2017 - 9:47 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em outubro, 25 2017 - 12:42 AM |
Atenção:
Level 22 ou acima vem com suporte a TLS 2.1 // Protocolo seguro nao foi implementado nas versoes antigas dos celulares.
O Lollipop é API 21 do Android SDK.
Ou seja, abaixo da versão 6 do android, deve ser http a url do webservice e se for igual ou superior a 6 do android do celular pode usar https no endereço do webservice. Assim você consegue com http usar até com a versao 4.0 em diante.
Digamos um endereço assim:
http://wxinformatica.com/ws.asmx… do webservice funciona da 4.0 em diante
e
https://wxinformatica.com/ws.asmx… do webservice funciona da 6.0 em diante
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em janeiro, 14 2021 - 12:04 AM |
Solução 100%
//Aqui define o layout do XML a ser enviado pelo POST sXDoc is string = [
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @LACRE@
] //Exemplo de como substituir parte do XML inicial por variáveis sLacre is string = " ?" sXDoc = Replace(sXDoc,"@LACRE@",sLacre) //webservice req is httpRequest req.URL = "http://servidor.cliente.com.br:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_CONCEITTO_D&receiverParty=&receiverService=&interface=SI_AtualizaOrdemFrete_Out&interfaceNamespace=urn:enderecodocliente:TMAtualizaOrdemFrete" req.User = "TESTE" req.Password = "1234" req.Header["SOAPAction"] = "Conceitto/Login" req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.42000)" req.Method = httpPost req.ContentType = "text/xml; charset=utf-8" req.Content = sXDoc cMyResponse is httpResponse = HTTPSend(req) IF ErrorOccurred THEN Error(ErrorInfo(errFullDetails)) ELSE sXDoc = cMyResponse..Content Info(sXDoc) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em janeiro, 14 2021 - 12:05 AM |
Solução 100%
//Aqui define o layout do XML a ser enviado pelo POST
sXDoc is string = [ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enderecodocliente:TMAtualizaOrdemFrete"> <soapenv:Header/> <soapenv:Body> <urn:MT_AtualizaOrdemFrete_Req_Conc> <ordem> <nr_ordem>?</nr_ordem> <dados_pesagem> <tara_veiculo>?</tara_veiculo> <peso_bruto>?</peso_bruto> <peso_liquido_real>?</peso_liquido_real> </dados_pesagem> <inf_item> <id_etapa>?</id_etapa> <nr_remessa>?</nr_remessa> <item_remessa>?</item_remessa> <id_material>?</id_material> <quantidade>?</quantidade> <unidade_med_qtde>?</unidade_med_qtde> <inf_lote> <lote>?</lote> <qtde>?</qtde> <unidade_lote>?</unidade_lote> </inf_lote> </inf_item> <dados_analise> <temperatura_tanque>?</temperatura_tanque> <ap_veiculo_seta>?</ap_veiculo_seta> <massa_especifica>?</massa_especifica> <fator_reducao_vol>?</fator_reducao_vol> <alcalinidade>?</alcalinidade> <volume_20>?</volume_20> <acidez_total>?</acidez_total> <grau_inpm>?</grau_inpm> <aspecto>?</aspecto> </dados_analise> <checklist> <id_checklist>?</id_checklist> </checklist> <lacres> @LACRE@ </lacres> </ordem> </urn:MT_AtualizaOrdemFrete_Req_Conc> </soapenv:Body> </soapenv:Envelope> ]
//Exemplo de como substituir parte do XML inicial por variáveis
sLacre is string = "<lacre>?</lacre>"
sXDoc = Replace(sXDoc,"@LACRE@",sLacre)
//webservice req is httpRequest
req.URL = "http://servidor.cliente.com.br:50000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BS_CONCEITTO_D&receiverParty=&receiverService=&interface=SI_AtualizaOrdemFrete_Out&interfaceNamespace=urn:enderecodocliente:TMAtualizaOrdemFrete" req.User = "TESTE" req.Password = "1234" req.Header["SOAPAction"] = "Conceitto/Login" req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 4.0.30319.42000)" req.Method = httpPost req.ContentType = "text/xml; charset=utf-8"
req.Content = sXDoc
cMyResponse is httpResponse = HTTPSend(req)
IF ErrorOccurred THEN Error(ErrorInfo(errFullDetails)) ELSE sXDoc = cMyResponse..Content Info(sXDoc) END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 11 2021 - 4:07 PM |
Bom dia
Baseado no código do Adriano, fiz o Soap, peguei a definição do xml do WSDL , que deve ser esta mesmo e aí foi de boa !
by Ricardo Cassolato
SuhaiXml is string = [ [%Login%] [%senha%] [%STCliente.cliente_cpf_cnpj%] [%STCliente.cliente_nome%] [%DateToString(STCliente.cliente_data_nascimento,"YYYY-MM-DD")%] [%sexo_suhai%] [%sCep%] [%estado_civil_suhai%] [%gsVEICULO_MARCA%] [%gsVEICULO_MODELO%] string [%gsANO_MODELO%] [%gsANO_MODELO%] [%gsCarroZero%] [%STSuhaiPerguntas.UtilizacaoDut%] [%STSuhaiPerguntas.tipoUtilizacao%] 1 1 tab 5 0 [%condutor_cpf_cnpj%] [%condutor_nome%] [%DateToString(condutor_data_nascimento,"YYYY-MM-DD")%] [%sexocondutor_suhai%] [%estado_civilcondutor_suhai%] [%STSuhaiPerguntas.Pergunta1%] [%STSuhaiPerguntas.Pergunta2%] [%STSuhaiPerguntas.Pergunta3%] [%STSuhaiPerguntas.Pergunta4%] 7 [%sCodCobertura %]
] //executa envelope MyRequest is httpRequest MyRequest..URL = sUrl MyRequest..Header["SOAPAction"] = "http://suhaiseguradoracotacao.com.br:5155/IncluirCotacaoSuhai" MyRequest..Method = httpPost MyRequest..ContentType = "text/xml; charset=utf-8" MyRequest..Content = SuhaiXml MyResponse is httpResponse = HTTPSend(MyRequest) //=============================================== IF ErrorOccurred THEN Error(ErrorInfo(errFullDetails)) END //=============================================== GravaLog("SuhaiXml"+sCodCobertura+".xml",SuhaiXml) GravaLog("SuhaiXmlResponse"+sCodCobertura+".xml",MyResponse..Content) //funcionou perfeitamente
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 11 2021 - 9:14 PM |
SuhaiXml is string = [ <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <IncluirCotacaoSuhai xmlns="http://suhaiseguradoracotacao.com.br:5155/"> <cotacao> <Login>[%Login%]</Login> <senha>[%senha%]</senha> <cpfCnpj>[%STCliente.cliente_cpf_cnpj%]</cpfCnpj> <nome>[%STCliente.cliente_nome%]</nome> <dtNascimento>[%DateToString(STCliente.cliente_data_nascimento,"YYYY-MM-DD")%]</dtNascimento> <sexo>[%sexo_suhai%]</sexo> <cepPernoite>[%sCep%]</cepPernoite> <estadoCivil>[%estado_civil_suhai%]</estadoCivil> <Marca>[%gsVEICULO_MARCA%]</Marca> <Modelo>[%gsVEICULO_MODELO%]</Modelo> <codFipe>string</codFipe> <anomodelo>[%gsANO_MODELO%]</anomodelo> <anoFabricacao>[%gsANO_MODELO%]</anoFabricacao> <zeroKm>[%gsCarroZero%]</zeroKm> <utilizacaoDut>[%STSuhaiPerguntas.UtilizacaoDut%]</utilizacaoDut> <tipoUtilizacao>[%STSuhaiPerguntas.tipoUtilizacao%]</tipoUtilizacao> <possuiOutroVeic>1</possuiOutroVeic> <tipoContratacao>1</tipoContratacao> <tabelaComissao>tab 5</tabelaComissao> <classeBonus>0</classeBonus> <cpfCnpjPrincipalCondutor>[%condutor_cpf_cnpj%]</cpfCnpjPrincipalCondutor> <nomePrincipalCondutor>[%condutor_nome%]</nomePrincipalCondutor> <dtNascimentoPrincipalCondutor>[%DateToString(condutor_data_nascimento,"YYYY-MM-DD")%]</dtNascimentoPrincipalCondutor> <sexoPrincipalCondutor>[%sexocondutor_suhai%]</sexoPrincipalCondutor> <estadoCivilPrincipalCondutor>[%estado_civilcondutor_suhai%]</estadoCivilPrincipalCondutor> <pergunta1>[%STSuhaiPerguntas.Pergunta1%]</pergunta1> <pergunta2>[%STSuhaiPerguntas.Pergunta2%]</pergunta2> <pergunta3>[%STSuhaiPerguntas.Pergunta3%]</pergunta3> <pergunta4>[%STSuhaiPerguntas.Pergunta4%]</pergunta4> <vlr_desconto>7</vlr_desconto> <cdCobertura>[%sCodCobertura %]</cdCobertura> </cotacao> </IncluirCotacaoSuhai> </soap:Body> </soap:Envelope> ]
MyRequest is httpRequest MyRequest..URL = sUrl MyRequest..Header["SOAPAction"] = "http://suhaiseguradoracotacao.com.br:5155/IncluirCotacaoSuhai" MyRequest..Method = httpPost MyRequest..ContentType = "text/xml; charset=utf-8" MyRequest..Content = SuhaiXml
MyResponse is httpResponse = HTTPSend(MyRequest)
//=============================================== IF ErrorOccurred THEN Error(ErrorInfo(errFullDetails)) END //===============================================
GravaLog("SuhaiXml"+sCodCobertura+".xml",SuhaiXml) GravaLog("SuhaiXmlResponse"+sCodCobertura+".xml",MyResponse..Content)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.657 mensagems Popularité : +175 (223 votes) |
|
Publicado em agosto, 11 2021 - 9:27 PM |
https://repository.windev.com/resource.awp?file_id=281474976711176;exemplo-consumindo-soap-wsdl-via-codigo-ricardo-cassolato
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|