|
Home → WINDEV 25 → WX - Novo Webservice da WX Informatica para consulta de CEP do Brasil com 3 milhões de endereços do Brasil |
WX - Novo Webservice da WX Informatica para consulta de CEP do Brasil com 3 milhões de endereços do Brasil |
Started by BOLLER, Aug., 30 2017 5:51 AM - 9 replies |
| |
| | | |
|
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on August, 30 2017 - 5:51 AM |
Webservice para consulta de CEP
Total de 3.255.815 de endereços
Estrutura do arquivo
CREATE TABLE "clientes" ( "id" NUMERIC(19,0) PRIMARY KEY , "Nome" VARCHAR(50) UNIQUE , "Email" VARCHAR(50) UNIQUE , "Celular" VARCHAR(20) UNIQUE , "Token" VARCHAR(50) UNIQUE );
CREATE TABLE "enderecoscorreios" ( "Sequencial" NUMERIC(19,0) PRIMARY KEY , "LogradouroAbrev" NVARCHAR(150) , "Logradouro" VARCHAR(150) , "LogradouroCompl" VARCHAR(150) , "Fonetica" VARCHAR(150) , "LogradouroTipo" VARCHAR(20) , "CEP" VARCHAR(8) , "Bairro" VARCHAR(150) , "BairroAbrev" VARCHAR(150) , "IDCidade" NUMERIC(19,0) , "Cidade" VARCHAR(150) , "SubCidadeAbrev" VARCHAR(150) , "SubCidade" VARCHAR(150) , "CodIBGECid" NUMERIC(19,0) , "CodIBGEUF" NUMERIC(19,0) , "UF" VARCHAR(2) , "LogradouroIniciais" VARCHAR(5) , "DMSLatitude" VARCHAR(20) , "DMSLongitude" VARCHAR(20) , "GDLatitude" NUMERIC(18,6) , "GDLongitude" NUMERIC(18,6) , "NumeroInicial" INTEGER , "NumeroFinal" INTEGER , "LogradouroUpper" VARCHAR(150) , "Pais" VARCHAR(20) ); CREATE INDEX "WDIDX_enderecoscorreios_LogradouroAbrev" ON "enderecoscorreios" ("LogradouroAbrev"); CREATE INDEX "WDIDX_enderecoscorreios_Logradouro" ON "enderecoscorreios" ("Logradouro"); CREATE INDEX "WDIDX_enderecoscorreios_LogradouroCompl" ON "enderecoscorreios" ("LogradouroCompl"); CREATE INDEX "WDIDX_enderecoscorreios_Fonetica" ON "enderecoscorreios" ("Fonetica"); CREATE INDEX "WDIDX_enderecoscorreios_CEP" ON "enderecoscorreios" ("CEP"); CREATE INDEX "WDIDX_enderecoscorreios_Bairro" ON "enderecoscorreios" ("Bairro"); CREATE INDEX "WDIDX_enderecoscorreios_IDCidade" ON "enderecoscorreios" ("IDCidade"); CREATE INDEX "WDIDX_enderecoscorreios_Cidade" ON "enderecoscorreios" ("Cidade"); CREATE INDEX "WDIDX_enderecoscorreios_CodIBGECid" ON "enderecoscorreios" ("CodIBGECid"); CREATE INDEX "WDIDX_enderecoscorreios_CodIBGEUF" ON "enderecoscorreios" ("CodIBGEUF"); CREATE INDEX "WDIDX_enderecoscorreios_LogradouroUpper" ON "enderecoscorreios" ("LogradouroUpper"); CREATE INDEX "WDIDX_enderecoscorreios_KUnico" ON "enderecoscorreios" ("LogradouroAbrev","Logradouro","LogradouroCompl","Fonetica","LogradouroTipo","CEP","Bairro","BairroAbrev","Cidade","SubCidadeAbrev","SubCidade","UF","Cidade","Pais","NumeroInicial","NumeroFinal");
CREATE TABLE "wslog" ( "id" NUMERIC(19,0) PRIMARY KEY , "datahora" TIMESTAMP , "ip" VARCHAR(15) , "acao" LONGVARCHAR , "Token" VARCHAR(50) ); CREATE INDEX "WDIDX_wslog_datahora" ON "wslog" ("datahora"); CREATE INDEX "WDIDX_wslog_ip" ON "wslog" ("ip"); CREATE INDEX "WDIDX_wslog_Token" ON "wslog" ("Token");
arr_Resultados is array of string
gsValorMemorizado is string = 1
DeclareWebserviceContext(gsValorMemorizado)
DeclareWebserviceContext(arr_Resultados)
Procedure Ws_BuscaEndereco(Token, Endereco)
arrResultado is array of string ok is boolean = False X is int = 0 nTokenOk is int = 0 sTabela is string = "Enderecos" Resultado is string = "" sErro is string = "" GloToken is string = ""
OkConn is boolean = False
OkConn = HConnectionOpen(MyHfsql)
ok = HExecuteQuery(QRY_Select_Cliente,hQueryWithoutHFCorrection,Token)
IF ok = True THEN FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True AND Token = QRY_Select_Cliente.Token THEN GloToken = QRY_Select_Cliente.Token ELSE GloToken = "" END END END
IF Token <> "" AND Token = GloToken IF OkConn = True THEN ok = HExecuteQuery(QRY_Select_Cliente,MyHfsql,hQueryWithoutHFCorrection,Token) IF ok = True THEN FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True THEN ok = HExecuteQuery(QRY_Select_CEP,MyHfsql,hQueryWithoutCorrection,Endereco) IF ok =True THEN Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_CEP IF HFound(QRY_Select_CEP) = True AND X = 0 X += 1 Resultado += ws_xml_registro_comeco(X) Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() END END IF X = 0 THEN Resultado = ws_zero_registros(sTabela) END Resultado += "<TOTAL>"+X+"</TOTAL>" Resultado += "</Retorno></Xml>" ELSE Resultado += "<Error>Erro 002 tabela<Error>" END ELSE Resultado += "<Error>Erro 003 tabela<Error>" END END ELSE Resultado += "<Error>Erro 004 tabela<Error>" END ELSE Resultado += "<Error>Erro 005 Conexao<Error>" END ip is string = WebserviceClientIPAddress(False) ok = HExecuteQuery(QRY_Insert_Log,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,Endereco) HReset(QRY_Select_CEP)
HReset(QRY_Select_Cliente) HConnectionClose(ConnNativa) ELSE Resultado += "<Error>Token invalido<Error>" END
nTamanho is int = Length(Resultado)
Add(arrResultado,Resultado)
RESULT (arrResultado)
Modo de usar:
http://wxmagazine.pcscloud.net/WSCEP_WEB/awws/index.htm
http://wxmagazine.pcscloud.net/WSCEP_WEB/awws/WsCep.awws?wsdl
Para usar importe o link WSDL para sua aplicação Windev, Webdev ou Windev Mobile informando esse endereço:
http://wxmagazine.pcscloud.net/WSCEP_WEB/awws/WsCep.awws?wsdl
Para usar em sua aplicação:
XML_Retorno is string = ""
RetornoXml is a Ws_BuscaEnderecoResponse
RetornoXml = Ws_BuscaEndereco(0120120120120120120120120120120120120,"Clavio Molinari")
XML_Retorno = RetornoXml.Ws_BuscaEnderecoResult
Para usar basta solicitar o token de uso é pelo e-mail adrianoboller@gmail.com
Por um certo tempo vai estar liberado o cadastro automático
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Header> <nhs:WSID mustUnderstand="1" xsi:type="xsd:hexBinary" xmlns:nhs="urn:WsCep" xmlns="urn:WsCep">3748E6F2B57B69A27761BE282AB47EE956293F86</nhs:WSID> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:Ws_IncluirClienteResponse xmlns:ns1="urn:WsCep"> <Ws_IncluirClienteResult><Xml><Retorno>OK - Anote o seu Token: 1</Retorno></Xml></Ws_IncluirClienteResult> </ns1:Ws_IncluirClienteResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Anote o seu token ok.
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, August, 30 2017 - 6:23 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 01 2017 - 2:51 PM |
O método teve a melhoria de retornar xml ou json
Procedure Ws_BuscaEndereco(Token, Endereco, CEP, TipoXmlJson)
arrResultado is array of string arrQuery is array of strings ok is boolean = False X is int = 0 nTokenOk is int = 0 bResultado_json is Buffer = "" sTabela is string = "Enderecos" Resultado, GloValidade is string = "" sErro is string = "" GloToken is string = ""
OkConn is boolean = False
OkConn = HConnectionOpen(MyPcscloud)
ok = HExecuteQuery(QRY_Select_Cliente,MyPcscloud,hQueryWithoutHFCorrection,Token)
IF ok = True AND OkConn = True AND Token <> "" HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True AND Token = QRY_Select_Cliente.id THEN GloToken = QRY_Select_Cliente.id GloValidade = QRY_Select_Cliente.Token ELSE GloToken = "" END END END
TipoXmlJson = Lower(TipoXmlJson)
IF Token <> "" AND Token = GloToken AND GloValidade = "0" IF OkConn = True THEN CEP = NoSpace(CEP) IF (CEP = "" AND Endereco <> "") OR (CEP = 0 AND Endereco <> "") THEN Endereco = Lower(Endereco) Endereco = NoSpace(NoAccent(Endereco)) Endereco = Replace(Endereco, "rua ","") Endereco = Replace(Endereco, "avenida ","") QRY_Select_CEP.ParamFullTextPertinence = 0 QRY_Select_CEP.ParamKFulltext = Endereco ok = HExecuteQuery(QRY_Select_CEP,hQueryDefault+hQueryWithoutHFCorrection,Endereco,0) IF ok =True THEN Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_CEP IF HFound(QRY_Select_CEP) = True THEN X += 1 IF TipoXmlJson = "xml" Resultado += ws_xml_registro_comeco(X) Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() ELSE IF TipoXmlJson = "json" Add(arrQuery, "Registro: "+ X) Add(arrQuery, QRY_Select_CEP.LogradouroUpper) Add(arrQuery, QRY_Select_CEP.LogradouroAbrev) Add(arrQuery, QRY_Select_CEP.Logradouro) Add(arrQuery, QRY_Select_CEP.LogradouroCompl) Add(arrQuery, QRY_Select_CEP.Fonetica) Add(arrQuery, QRY_Select_CEP.LogradouroTipo) Add(arrQuery, QRY_Select_CEP.CEP) Add(arrQuery, QRY_Select_CEP.Bairro) Add(arrQuery, QRY_Select_CEP.BairroAbrev) Add(arrQuery, QRY_Select_CEP.IDCidade) Add(arrQuery, QRY_Select_CEP.Cidade) Add(arrQuery, QRY_Select_CEP.SubCidadeAbrev) Add(arrQuery, QRY_Select_CEP.SubCidade) Add(arrQuery, QRY_Select_CEP.CodIBGECid) Add(arrQuery, QRY_Select_CEP.CodIBGEUF) Add(arrQuery, QRY_Select_CEP.UF) Add(arrQuery, QRY_Select_CEP.Pais) Add(arrQuery, QRY_Select_CEP.LogradouroIniciais) Add(arrQuery, QRY_Select_CEP.NumeroInicial) Add(arrQuery, QRY_Select_CEP.NumeroFinal) Add(arrQuery, QRY_Select_CEP.DMSLatitude) Add(arrQuery, QRY_Select_CEP.DMSLongitude) Add(arrQuery, QRY_Select_CEP.GDLatitude) Add(arrQuery, QRY_Select_CEP.GDLongitude) END END END IF X = 0 THEN Resultado = ws_zero_registros(sTabela) END Resultado += "<TOTAL>"+X+"</TOTAL>" Resultado += "</Retorno></Xml>" ELSE Resultado += "<Error>Erro 002 tabela<Error>" END ELSE ok = HExecuteQuery(QRY_Select_CEP_Filtro,MyPcscloud,hQueryWithoutCorrection,CEP) IF ok =True THEN Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_CEP_Filtro IF HFound(QRY_Select_CEP_Filtro) = True X += 1 IF TipoXmlJson = "xml" Resultado += ws_xml_registro_comeco(X) Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_CEP_Filtro.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() ELSE IF TipoXmlJson = "json" Add(arrQuery, "Registro: "+ X) Add(arrQuery, QRY_Select_CEP_Filtro.LogradouroUpper) Add(arrQuery, QRY_Select_CEP_Filtro.LogradouroAbrev) Add(arrQuery, QRY_Select_CEP_Filtro.Logradouro) Add(arrQuery, QRY_Select_CEP_Filtro.LogradouroCompl) Add(arrQuery, QRY_Select_CEP_Filtro.Fonetica) Add(arrQuery, QRY_Select_CEP_Filtro.LogradouroTipo) Add(arrQuery, QRY_Select_CEP_Filtro.CEP) Add(arrQuery, QRY_Select_CEP_Filtro.Bairro) Add(arrQuery, QRY_Select_CEP_Filtro.BairroAbrev) Add(arrQuery, QRY_Select_CEP_Filtro.IDCidade) Add(arrQuery, QRY_Select_CEP_Filtro.Cidade) Add(arrQuery, QRY_Select_CEP_Filtro.SubCidadeAbrev) Add(arrQuery, QRY_Select_CEP_Filtro.SubCidade) Add(arrQuery, QRY_Select_CEP_Filtro.CodIBGECid) Add(arrQuery, QRY_Select_CEP_Filtro.CodIBGEUF) Add(arrQuery, QRY_Select_CEP_Filtro.UF) Add(arrQuery, QRY_Select_CEP_Filtro.Pais) Add(arrQuery, QRY_Select_CEP_Filtro.LogradouroIniciais) Add(arrQuery, QRY_Select_CEP_Filtro.NumeroInicial) Add(arrQuery, QRY_Select_CEP_Filtro.NumeroFinal) Add(arrQuery, QRY_Select_CEP_Filtro.DMSLatitude) Add(arrQuery, QRY_Select_CEP_Filtro.DMSLongitude) Add(arrQuery, QRY_Select_CEP_Filtro.GDLatitude) Add(arrQuery, QRY_Select_CEP_Filtro.GDLongitude) END END END IF X = 0 THEN Resultado = ws_zero_registros(sTabela) END Resultado += "<TOTAL>"+X+"</TOTAL>" Resultado += "</Retorno></Xml>" ELSE Resultado += "<Error>Erro 002 tabela<Error>" END END ELSE Resultado += "<Error>Erro 003 tabela<Error>" END ELSE Resultado += "<Error>Token invalido<Error>" END
ip is string = WebserviceClientIPAddress(False)
ok = HExecuteQuery(QRY_Insert_Log,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,"Ws_BuscaEndereco: " + Endereco)
HConnectionClose(MyPcscloud)
nTamanho_xml is int = Length(Resultado)
nTamanho_json is int = Length(Resultado)
IF TipoXmlJson = "json" THEN Serialize(arrQuery, bResultado_json, psdJSON) Add(arrResultado,bResultado_json) ELSE IF TipoXmlJson = "xml" THEN Add(arrResultado,Resultado) END
RESULT (arrResultado)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, September, 01 2017 - 3:20 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 08 2017 - 4:48 PM |
Versao Final
//http://wxmagazine.pcscloud.net/WSCEP_WEB/awws/index.htm
//http://wxmagazine.pcscloud.net/WSCEP_WEB/awws/WsCep.awws?wsdl
Procedure Ws_BuscarEndereco(Token, Endereco, Cidade, CEP, TipoXmlJson)
arrResultado is array of string
ok is boolean = False X is int = 0 nTokenOk is int = 0 sTabela is string = "Enderecos" Resultado, GloValidade is string = "" sErro is string = "" GloToken is string = ""
OkConn is boolean = False
IF Token = "" OR Token = 0 OR Token = Null THEN Endereco = "" Cidade = "" CEP = 0 TipoXmlJson = "" ELSE OkConn = HConnectionOpen(MyPcscloud) ok = HExecuteQuery(QRY_Select_Cliente,MyPcscloud,hQueryWithoutHFCorrection,Token) IF ok = True AND OkConn = True AND Token <> "" HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True AND Token = QRY_Select_Cliente.Token THEN GloToken = QRY_Select_Cliente.Token GloValidade = QRY_Select_Cliente.Validade ELSE GloToken = "" END END END Endereco = Capitalize(Endereco) Endereco = NoSpace(NoAccent(Endereco)) Endereco = Replace(Endereco, "Rua ","") Endereco = Replace(Endereco, "Avenida ","") Endereco = Replace(Endereco, "Travessa ","") Endereco = Replace(Endereco, "Marginal ","") Cidade = Capitalize(Cidade) Cidade = NoSpace(NoAccent(Cidade)) CEP = NoSpace(CEP) CEP = Replace(CEP,".","") CEP = Replace(CEP,"-","") IF CEP = "" OR CEP = Null OR Length(CEP) < 8 CEP = 0 END TipoXmlJson = Lower(TipoXmlJson) IF TipoXmlJson = "" THEN TipoXmlJson = "xml" END IF Token <> "" AND Token = GloToken THEN IF OkConn = True THEN HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) IF Endereco <> "" AND Cidade = "" AND CEP = 0 IF TipoXmlJson = "xml" THEN Resultado = FiltroEnderecoFulltextXml(Endereco) ELSE Resultado = FiltroEnderecoFulltextJson(Endereco) END ELSE IF Endereco <> "" AND Cidade <> "" AND CEP = 0 IF TipoXmlJson = "xml" THEN Resultado = FiltroEnderecoCidadeXml(Endereco,Cidade) ELSE Resultado = FiltroEnderecoCidadeJson(Endereco,Cidade) END ELSE IF Endereco <> "" AND Cidade <> "" AND CEP <> 0 AND Length(CEP) = 8 IF TipoXmlJson = "xml" THEN Resultado = FiltroEnderecoCidadeCepXml(Endereco,Cidade,CEP) ELSE Resultado = FiltroEnderecoCidadeCepJson(Endereco,Cidade,CEP) END ELSE IF (Endereco = "" AND Cidade = "" AND CEP <> 0 AND Length(CEP) = 8 ) OR (Endereco <> "" AND Cidade = "" AND CEP <> 0 AND Length(CEP) = 8 ) IF TipoXmlJson = "xml" THEN Resultado = FiltroCepXml(CEP) ELSE Resultado = FiltroCepJson(CEP) END END ELSE Resultado += "<Error>Erro 003 connect<Error>" END ELSE Resultado += "<Error>Erro 004 token<Error>" END END
ip is string = WebserviceClientIPAddress(False)
ok = HExecuteQuery(QRY_Insert_Log,MyPcscloud,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,"Ws_ListarClientes")
HConnectionClose(MyPcscloud)
nTamanho is int = Length(Resultado)
Add(arrResultado,Resultado)
RESULT (arrResultado)
Procedure Capitalize(LOCAL Texto)
ChangeCharset(charsetOccidental)
IF Texto <> Null AND Texto <> "" Texto = NoAccent(Texto) Texto = Lower(Texto) Texto = Upper(Middle(Texto,1,1)) + Middle(Texto,2,Length(Texto)) nEspaco01 is int = PositionOccurrence(Texto," ",firstRank,FromBeginning) + 1 IF nEspaco01 > 1 THEN Texto = Middle(Texto,1,nEspaco01-1) + Upper(Middle(Texto,nEspaco01,1)) + Middle(Texto,nEspaco01+1,Length(Texto)) END TOT is int = 0 POS1, POS2, POS3 is int = 0 TOT = Length(Texto) LOOP (TOT) POS1 +=1 POS2 = POS1 + 1 POS3 = POS2 + 1 IF Middle(Texto,POS1,1) = " " AND Middle(Texto,POS2,1) <> " " Texto = Middle(Texto,1,POS1) + Upper(Middle(Texto,POS2,1)) + Middle(Texto,POS3,TOT) END END Texto = Replace(Texto," Da ", " da ") Texto = Replace(Texto," Das ", " das ") Texto = Replace(Texto," De ", " de ") Texto = Replace(Texto," Do ", " do ") Texto = Replace(Texto," Dos ", " dos ") END
RESULT(Texto)
Procedure FiltroCepJson(CEP)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
arrQuery is array of string
Resultado is string = ""
IF CEP <> "" THEN ok is boolean = HExecuteQuery(QRY_Select_Endereco_CEP,hQueryDefault,CEP) IF ok = True x is int FOR EACH QRY_Select_Endereco_CEP IF HFound(QRY_Select_Endereco_CEP) = True THEN x += 1 Add(arrQuery, "Registro: "+ x) Add(arrQuery, QRY_Select_Endereco_CEP.Sequencial) Add(arrQuery, QRY_Select_Endereco_CEP.Sequencial) Add(arrQuery, QRY_Select_Endereco_CEP.LogradouroUpper) Add(arrQuery, QRY_Select_Endereco_CEP.LogradouroAbrev) Add(arrQuery, QRY_Select_Endereco_CEP.Logradouro) Add(arrQuery, QRY_Select_Endereco_CEP.LogradouroCompl) Add(arrQuery, QRY_Select_Endereco_CEP.Fonetica) Add(arrQuery, QRY_Select_Endereco_CEP.LogradouroTipo) Add(arrQuery, QRY_Select_Endereco_CEP.CEP) Add(arrQuery, QRY_Select_Endereco_CEP.Bairro) Add(arrQuery, QRY_Select_Endereco_CEP.BairroAbrev) Add(arrQuery, QRY_Select_Endereco_CEP.IDCidade) Add(arrQuery, QRY_Select_Endereco_CEP.Cidade) Add(arrQuery, QRY_Select_Endereco_CEP.SubCidadeAbrev) Add(arrQuery, QRY_Select_Endereco_CEP.SubCidade) Add(arrQuery, QRY_Select_Endereco_CEP.CodIBGECid) Add(arrQuery, QRY_Select_Endereco_CEP.CodIBGEUF) Add(arrQuery, QRY_Select_Endereco_CEP.UF) Add(arrQuery, QRY_Select_Endereco_CEP.Pais) Add(arrQuery, QRY_Select_Endereco_CEP.LogradouroIniciais) Add(arrQuery, QRY_Select_Endereco_CEP.NumeroInicial) Add(arrQuery, QRY_Select_Endereco_CEP.NumeroFinal) Add(arrQuery, QRY_Select_Endereco_CEP.DMSLatitude) Add(arrQuery, QRY_Select_Endereco_CEP.DMSLongitude) Add(arrQuery, QRY_Select_Endereco_CEP.GDLatitude) Add(arrQuery, QRY_Select_Endereco_CEP.GDLongitude) END END IF x = 0 THEN Add(arrQuery,"ws_zero_registros") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+x) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+0) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END
bResultado_json is Buffer Serialize(arrQuery, bResultado_json, psdJSON) Resultado = bResultado_json
RESULT(Resultado)
Procedure FiltroCepXml(Cep)
TempoInicio is Time = TimeSys()
TempoFinal is Time
TempoTotal is int
Resultado is string = ""
IF Cep <> "" ok is boolean = HExecuteQuery(QRY_Select_Endereco_CEP,hQueryDefault,Cep) IF ok = True AND Cep <> "" x is int Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_Endereco_CEP IF HFound(QRY_Select_Endereco_CEP) = True THEN x += 1 Resultado += ws_xml_registro_comeco(x) Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_CEP.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() END END IF x = 0 THEN Resultado = ws_zero_registros("Enderecos") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+x+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+0+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END
RESULT(Resultado)
Procedure FiltroEnderecoCidadeCepJson(Endereco,Cidade,Cep)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
arrQuery is array of string
Resultado is string = ""
IF Endereco <> "" THEN ok is boolean = HExecuteQuery(QRY_Select_Endereco_Cidade_CEP,hQueryDefault,Cidade,Endereco,Cep) IF ok = True x is int FOR EACH QRY_Select_Endereco_Cidade_CEP IF HFound(QRY_Select_Endereco_Cidade_CEP) = True THEN x += 1 Add(arrQuery, "Registro: "+ x) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Sequencial) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Sequencial) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.LogradouroUpper) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.LogradouroAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Logradouro) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.LogradouroCompl) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Fonetica) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.LogradouroTipo) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.CEP) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Bairro) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.BairroAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.IDCidade) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Cidade) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.SubCidadeAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.SubCidade) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.CodIBGECid) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.CodIBGEUF) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.UF) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.Pais) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.LogradouroIniciais) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.NumeroInicial) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.NumeroFinal) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.DMSLatitude) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.DMSLongitude) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.GDLatitude) Add(arrQuery, QRY_Select_Endereco_Cidade_CEP.GDLongitude) END END IF x = 0 THEN Add(arrQuery,"ws_zero_registros") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+x) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+0) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END
bResultado_json is Buffer Serialize(arrQuery, bResultado_json, psdJSON) Resultado = bResultado_json
RESULT(Resultado)
Procedure FiltroEnderecoCidadeCepXml(Endereco, Cidade, Cep)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
Resultado is string = ""
IF Endereco <> "" AND Cidade <> "" AND Cep <> "" ok is boolean = HExecuteQuery(QRY_Select_Endereco_Cidade_CEP,hQueryDefault,Cidade,Endereco,Cep) IF ok = True AND Cep <> "" x is int Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_Endereco_Cidade_CEP IF HFound(QRY_Select_Endereco_Cidade_CEP) = True THEN x += 1 Resultado += ws_xml_registro_comeco(x) Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade_CEP.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() END END IF x = 0 THEN Resultado = ws_zero_registros("Enderecos") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+x+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+0+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END
RESULT(Resultado)
Procedure FiltroEnderecoCidadeJson(Endereco,Cidade)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
arrQuery is array of string
Resultado is string = ""
IF Endereco <> "" AND Cidade <> "" ok is boolean = HExecuteQuery(QRY_Select_Endereco_Cidade,hQueryDefault,Endereco,Cidade) IF ok = True x is int FOR EACH QRY_Select_Endereco_Cidade IF HFound(QRY_Select_Endereco_Cidade) = True THEN x += 1 Add(arrQuery, "Registro: "+ x) Add(arrQuery, QRY_Select_Endereco_Cidade.Sequencial) Add(arrQuery, QRY_Select_Endereco_Cidade.Sequencial) Add(arrQuery, QRY_Select_Endereco_Cidade.LogradouroUpper) Add(arrQuery, QRY_Select_Endereco_Cidade.LogradouroAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade.Logradouro) Add(arrQuery, QRY_Select_Endereco_Cidade.LogradouroCompl) Add(arrQuery, QRY_Select_Endereco_Cidade.Fonetica) Add(arrQuery, QRY_Select_Endereco_Cidade.LogradouroTipo) Add(arrQuery, QRY_Select_Endereco_Cidade.CEP) Add(arrQuery, QRY_Select_Endereco_Cidade.Bairro) Add(arrQuery, QRY_Select_Endereco_Cidade.BairroAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade.IDCidade) Add(arrQuery, QRY_Select_Endereco_Cidade.Cidade) Add(arrQuery, QRY_Select_Endereco_Cidade.SubCidadeAbrev) Add(arrQuery, QRY_Select_Endereco_Cidade.SubCidade) Add(arrQuery, QRY_Select_Endereco_Cidade.CodIBGECid) Add(arrQuery, QRY_Select_Endereco_Cidade.CodIBGEUF) Add(arrQuery, QRY_Select_Endereco_Cidade.UF) Add(arrQuery, QRY_Select_Endereco_Cidade.Pais) Add(arrQuery, QRY_Select_Endereco_Cidade.LogradouroIniciais) Add(arrQuery, QRY_Select_Endereco_Cidade.NumeroInicial) Add(arrQuery, QRY_Select_Endereco_Cidade.NumeroFinal) Add(arrQuery, QRY_Select_Endereco_Cidade.DMSLatitude) Add(arrQuery, QRY_Select_Endereco_Cidade.DMSLongitude) Add(arrQuery, QRY_Select_Endereco_Cidade.GDLatitude) Add(arrQuery, QRY_Select_Endereco_Cidade.GDLongitude) END END IF x = 0 THEN Add(arrQuery,"ws_zero_registros") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+x) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+0) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END
bResultado_json is Buffer Serialize(arrQuery, bResultado_json, psdJSON) Resultado = bResultado_json
RESULT(Resultado)
Procedure FiltroEnderecoCidadeXml(Endereco,Cidade)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
Resultado is string = ""
IF Endereco <> "" AND Cidade <> "" ok is boolean = HExecuteQuery(QRY_Select_Endereco_Cidade,hQueryDefault,Endereco,Cidade) IF ok = True x is int Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_Endereco_Cidade IF HFound(QRY_Select_Endereco_Cidade) = True THEN x += 1 Resultado += ws_xml_registro_comeco(x) Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Cidade.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() END END IF x = 0 THEN Resultado = ws_zero_registros("Enderecos") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+x+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+0+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END
RESULT(Resultado)
Procedure FiltroEnderecoFulltextJson(Endereco)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
arrQuery is array of string
Resultado is string = ""
IF Endereco <> "" THEN QRY_Select_Endereco_Fulltext.ParamFullTextPertinence = 0 QRY_Select_Endereco_Fulltext.ParamLogradouro = Endereco ok is boolean = HExecuteQuery(QRY_Select_Endereco_Fulltext,hQueryDefault,0,Endereco) IF ok = True x is int FOR EACH QRY_Select_Endereco_Fulltext IF HFound(QRY_Select_Endereco_Fulltext) = True THEN x += 1 Add(arrQuery, "Registro: "+ x) Add(arrQuery, QRY_Select_Endereco_Fulltext.Sequencial) Add(arrQuery, QRY_Select_Endereco_Fulltext.Sequencial) Add(arrQuery, QRY_Select_Endereco_Fulltext.LogradouroUpper) Add(arrQuery, QRY_Select_Endereco_Fulltext.LogradouroAbrev) Add(arrQuery, QRY_Select_Endereco_Fulltext.Logradouro) Add(arrQuery, QRY_Select_Endereco_Fulltext.LogradouroCompl) Add(arrQuery, QRY_Select_Endereco_Fulltext.Fonetica) Add(arrQuery, QRY_Select_Endereco_Fulltext.LogradouroTipo) Add(arrQuery, QRY_Select_Endereco_Fulltext.CEP) Add(arrQuery, QRY_Select_Endereco_Fulltext.Bairro) Add(arrQuery, QRY_Select_Endereco_Fulltext.BairroAbrev) Add(arrQuery, QRY_Select_Endereco_Fulltext.IDCidade) Add(arrQuery, QRY_Select_Endereco_Fulltext.Cidade) Add(arrQuery, QRY_Select_Endereco_Fulltext.SubCidadeAbrev) Add(arrQuery, QRY_Select_Endereco_Fulltext.SubCidade) Add(arrQuery, QRY_Select_Endereco_Fulltext.CodIBGECid) Add(arrQuery, QRY_Select_Endereco_Fulltext.CodIBGEUF) Add(arrQuery, QRY_Select_Endereco_Fulltext.UF) Add(arrQuery, QRY_Select_Endereco_Fulltext.Pais) Add(arrQuery, QRY_Select_Endereco_Fulltext.LogradouroIniciais) Add(arrQuery, QRY_Select_Endereco_Fulltext.NumeroInicial) Add(arrQuery, QRY_Select_Endereco_Fulltext.NumeroFinal) Add(arrQuery, QRY_Select_Endereco_Fulltext.DMSLatitude) Add(arrQuery, QRY_Select_Endereco_Fulltext.DMSLongitude) Add(arrQuery, QRY_Select_Endereco_Fulltext.GDLatitude) Add(arrQuery, QRY_Select_Endereco_Fulltext.GDLongitude) END END IF x = 0 THEN Add(arrQuery,"ws_zero_registros") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+x) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Add(arrQuery,"Total: "+0) Add(arrQuery,"<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal) END
bResultado_json is Buffer Serialize(arrQuery, bResultado_json, psdJSON) Resultado = bResultado_json
RESULT(Resultado)
Procedure FiltroEnderecoFulltextXml(Endereco)
TempoInicio is Time = TimeSys() TempoFinal is Time TempoTotal is int
Resultado is string = ""
IF Endereco <> "" THEN QRY_Select_Endereco_Fulltext.ParamFullTextPertinence = 0 QRY_Select_Endereco_Fulltext.ParamLogradouro = Endereco ok is boolean = HExecuteQuery(QRY_Select_Endereco_Fulltext,hQueryDefault,0,Endereco) IF ok = True x is int Resultado = "<Xml><Retorno>" FOR EACH QRY_Select_Endereco_Fulltext IF HFound(QRY_Select_Endereco_Fulltext) = True THEN x += 1 Resultado += ws_xml_registro_comeco(x) Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Sequencial,"Sequencial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.LogradouroUpper,"LogradouroUpper") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.LogradouroAbrev,"LogradouroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Logradouro,"Logradouro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.LogradouroCompl,"LogradouroCompl") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Fonetica,"Fonetica") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.LogradouroTipo,"LogradouroTipo") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.CEP,"CEP") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Bairro,"Bairro") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.BairroAbrev,"BairroAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.IDCidade,"IDCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Cidade,"Cidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.SubCidadeAbrev,"SubCidadeAbrev") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.SubCidade,"SubCidade") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.CodIBGECid,"CodIBGECid") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.CodIBGEUF,"CodIBGEUF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.UF,"UF") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.Pais,"Pais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.LogradouroIniciais,"LogradouroIniciais") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.NumeroInicial,"NumeroInicial") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.NumeroFinal,"NumeroFinal") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.DMSLatitude,"DMSLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.DMSLongitude,"DMSLongitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.GDLatitude,"GDLatitude") Resultado += ws_xml_registro_corpo(QRY_Select_Endereco_Fulltext.GDLongitude,"GDLongitude") Resultado += ws_xml_registro_final() END END IF x = 0 THEN Resultado = ws_zero_registros("Enderecos") END TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+x+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END ELSE TempoFinal = TimeSys() TempoTotal = TempoFinal - TempoInicio Resultado += "<TOTAL>"+0+"</TOTAL>" Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: "+TempoTotal+"</Developer></Retorno></Xml>" Resultado += "</Retorno></Xml>" END
RESULT(Resultado)
Procedure ws_xml_registro_comeco(id)
Resultado is string = ""
Resultado = "<NoXml id="+Charact(34)+ NoSpace(id) +Charact(34)+">"
RESULT(Resultado)
Procedure ws_xml_registro_corpo(TabelaCampo, Campo)
Resultado is string = ""
Resultado = "<"+ NoSpace(Campo) +">" + NoSpace(TabelaCampo) + "</"+ NoSpace(Campo) +">"
RESULT(Resultado)
Procedure ws_xml_registro_final()
Resultado is string = ""
Resultado = "</NoXml>"
RESULT(Resultado)
Procedure ws_zero_registros(Tabela)
Resultado is string = ""
Erro is string = HErrorInfo() +" - "+ ErrorInfo() Erro = Replace(Erro,Charact(34),"") Erro = Replace(Erro,Charact(39),"") Erro = NoAccent(Erro)
Resultado += "<NoXml id="+Charact(34)+0+Charact(34)+">" Resultado += "<Erro>NENHUM REGISTRO! "+ Tabela +"; "+ Erro +" </Erro>" Resultado += "</NoXml>"
RESULT(Resultado)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 08 2017 - 5:00 PM |
Procedure Ws_IncluirCliente(nome,Email,celular)
arrResultado is array of string
Resultado, Token, Validade is string
OkConn is boolean = False
IF nome = "" OR Email = "" OR celular = "" THEN Resultado = "<Xml><Retorno>Erro é obrigatorio informar os dados</Retorno></Xml>" ELSE OkConn = HConnectionOpen(MyPcscloud) IF OkConn = True AND nome <> "" AND Email <> "" AND celular <> "" HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) nome = Capitalize(nome) Email = Lower(Email) celular = NoSpace(celular) celular = Replace(celular,"-","") celular = Replace(celular,"(","") celular = Replace(celular,")","") celular = Replace(celular," ","") celular = Replace(celular,".","") InitRandom() TokenRandom is string LOOP (10) nCharacter is int = Random(65,122) WHILE (91 <= nCharacter <= 96) nCharacter = Random(65,122) END TokenRandom += Charact(nCharacter) END TokenRandom = NoSpace(Upper(TokenRandom)) ok is boolean = HExecuteQuery(QRY_Insert_Cliente,MyPcscloud,hQueryWithoutHFCorrection,nome,Email,celular,TokenRandom) IF ok = True THEN ok = HExecuteQuery(QRY_Select_Cliente,MyPcscloud,hQueryDefault,celular,"") FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True Token = QRY_Select_Cliente.Token Validade = QRY_Select_Cliente.Validade Resultado += "<Xml><Retorno>OK - Anote o seu Token: "+ Token +"</Retorno></Xml>" END END END ELSE Resultado = "<Xml><Retorno>Erro</Retorno></Xml>" END END
ip is string = WebserviceClientIPAddress(False)
ok is boolean = HExecuteQuery(QRY_Insert_Log,MyPcscloud,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,"Ws_IncluirCliente: " + nome +" - "+ Email +" - "+ celular)
HReset(QRY_Select_Cliente)
HConnectionClose(MyPcscloud)
Add(arrResultado,Resultado)
RESULT (arrResultado)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, September, 08 2017 - 5:42 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 08 2017 - 6:13 PM |
Procedure Ws_IncluirNovoEndereco(Token, ParamLogradouroUpper, ParamLogradouroAbrev, ParamLogradouro, ParamLogradouroCompl, ParamFonetica, ParamLogradouroTipo, ParamCEP, ParamBairro, ParamBairroAbrev, ParamIDCidade, ParamCidade, ParamSubCidadeAbrev, ParamSubCidade, ParamCodIBGECid, ParamCodIBGEUF, ParamUF, ParamPais, ParamLogradouroIniciais, ParamNumeroInicial, ParamNumeroFinal, ParamDMSLatitude, ParamDMSLongitude, ParamGDLatitude, ParamGDLongitude)
arrResultado is array of string
Resultado is string
OkConn is boolean = False
GloNome, GloEmail, GloCelular is string
OkConn = HConnectionOpen(MyPcscloud)
ok is boolean = HExecuteQuery(QRY_Select_Cliente,MyPcscloud,hQueryWithoutHFCorrection,Token)
GloToken, GloValidade is string
IF ok = True AND OkConn = True AND Token <> "" THEN HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) FOR EACH QRY_Select_Cliente IF HFound(QRY_Select_Cliente) = True AND Token = QRY_Select_Cliente.Token THEN GloNome = QRY_Select_Cliente.Nome GloEmail = QRY_Select_Cliente.Email GloCelular = QRY_Select_Cliente.Celular GloToken = QRY_Select_Cliente.Token GloValidade = QRY_Select_Cliente.Validade ELSE GloToken = "" GloValidade = "INVALIDO" END END END
ParamLogradouroUpper = Upper(ParamLogradouroUpper) ParamLogradouroUpper = NoSpace(NoAccent(ParamLogradouroUpper))
IF ParamLogradouroUpper <> "" AND ParamLogradouroAbrev = "" THEN ParamLogradouroAbrev = Capitalize(ParamLogradouroUpper) END
ParamLogradouroAbrev = NoSpace(NoAccent(ParamLogradouroAbrev))
ParamLogradouroAbrev = Replace(ParamLogradouroAbrev, "Rua ","")
ParamLogradouroAbrev = Replace(ParamLogradouroAbrev, "Avenida ","")
ParamLogradouroAbrev = Replace(ParamLogradouroAbrev, "Travessa ","")
ParamLogradouroAbrev = Replace(ParamLogradouroAbrev, "Marginal ","")
IF ParamLogradouroAbrev <> "" AND ParamLogradouro = "" THEN ParamLogradouro = ParamLogradouroAbrev END
IF ParamLogradouroAbrev <> "" AND ParamLogradouroCompl = "" THEN ParamLogradouroCompl = ParamLogradouroAbrev END
ParamCidade = Capitalize(ParamCidade)
ParamCidade = NoSpace(NoAccent(ParamCidade))
ParamUF = Upper(ParamUF)
ParamPais = Capitalize(ParamPais)
ParamPais = NoSpace(NoAccent(ParamPais))
ParamCEP = NoSpace(ParamCEP)
ParamCEP = Replace(ParamCEP,".","")
ParamCEP = Replace(ParamCEP,"-","")
IF ParamLogradouroUpper = "" GloValidade = "INVALIDO" ELSE IF ParamLogradouroAbrev = "" GloValidade = "INVALIDO" ELSE IF ParamLogradouro = "" GloValidade = "INVALIDO" ELSE IF ParamLogradouroCompl = "" GloValidade = "INVALIDO" ELSE IF ParamBairro = "" GloValidade = "INVALIDO" ELSE IF ParamCidade = "" GloValidade = "INVALIDO" ELSE IF ParamUF = "" GloValidade = "INVALIDO" ELSE IF ParamPais = "" GloValidade = "INVALIDO" ELSE IF ParamCEP = "" GloValidade = "INVALIDO" END
IF Token <> GloToken OR GloValidade = "INVALIDO" Resultado = "<Xml><Retorno>Erro é obrigatorio informar os dados básicos tais como: Token, Endereco, Bairro, Cidade, UF, Pais, CEP</Retorno></Xml>" ELSE IF Token = GloToken AND GloValidade = "" AND GloToken <> "" AND Token <> "" AND GloValidade <> "INVALIDO" OkConn = HConnectionOpen(MyPcscloud) IF OkConn = True HCreationIfNotFound("*") HModifyStructure("*",hmsBackgroundTask) ok = HExecuteQuery(QRY_Insert_NovoEndereco,MyPcscloud,hQueryWithoutHFCorrection,Upper(ParamLogradouroUpper),Capitalize(ParamLogradouroAbrev),Capitalize(ParamLogradouro),Capitalize(ParamLogradouroCompl),ParamFonetica,ParamLogradouroTipo,ParamCEP,Capitalize(ParamBairro),Capitalize(ParamBairroAbrev),ParamIDCidade,Capitalize(ParamCidade),Capitalize(ParamSubCidadeAbrev),Capitalize(ParamSubCidade),ParamCodIBGECid,ParamCodIBGEUF,Upper(ParamUF),Capitalize(ParamPais),ParamLogradouroIniciais,ParamNumeroInicial,ParamNumeroFinal,ParamDMSLatitude,ParamDMSLongitude,ParamGDLatitude,ParamGDLongitude) IF ok = True THEN Resultado = "<Xml><Retorno>OK</Retorno></Xml>" END ELSE Resultado = "<Xml><Retorno>Erro</Retorno></Xml>" END END
acao is string = "Incluido por: "+ GloNome +" - "+ GloEmail +" - "+ GloCelular +" - "+ Token +" "+ Upper(ParamLogradouroUpper) +" "+ Capitalize(ParamLogradouroAbrev) +" "+ Capitalize(ParamLogradouro) +" "+ Capitalize(ParamLogradouroCompl) +" "+ ParamFonetica +" "+ ParamLogradouroTipo +" "+ ParamCEP +" "+ Capitalize(ParamBairro) +" "+ Capitalize(ParamBairroAbrev) +" "+ ParamIDCidade +" "+ Capitalize(ParamCidade) +" "+ Capitalize(ParamSubCidadeAbrev) +" "+ Capitalize(ParamSubCidade) +" "+ ParamCodIBGECid +" "+ ParamCodIBGEUF +" "+ Upper(ParamUF) +" "+ Capitalize(ParamPais) +" "+ ParamLogradouroIniciais +" "+ ParamNumeroInicial +" "+ ParamNumeroFinal +" "+ ParamDMSLatitude +" "+ ParamDMSLongitude +" "+ ParamGDLatitude +" "+ ParamGDLongitude
ip is string = WebserviceClientIPAddress(False)
ok = HExecuteQuery(QRY_Insert_Log,MyPcscloud,hQueryWithoutHFCorrection,DateSys()+TimeSys(),ip,Token,"Ws_IncluirNovoEndereco: " + acao)
HConnectionClose(MyPcscloud)
Resultado += "<Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller</Developer></Retorno></Xml>"
Add(arrResultado,Resultado)
RESULT (arrResultado)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, September, 08 2017 - 6:45 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 08 2017 - 9:53 PM |
CONSUMINDO O WEBSERVICE WS CEP
RetornoXml is a Ws_BuscarEnderecoResponse
RetornoXml = Ws_BuscarEndereco("ABC63488640","CLAVIO MOLINARI","CURITIBA","82810210","XML")
XML_Retorno is string = RetornoXml.Ws_BuscarEnderecoResult
Info(XML_Retorno)
fSaveText("ENDERECO.TXT",XML_Retorno)
RESULTADO
<Xml><Retorno><NoXml id="1"><Sequencial>975224</Sequencial><LogradouroUpper>CLAVIO MOLINARI</LogradouroUpper><LogradouroAbrev>Clavio Molinari</LogradouroAbrev><Logradouro>Rua Clavio Molinari</Logradouro><LogradouroCompl>0</LogradouroCompl><Fonetica>IA1 4A1A81 E1A8E1I8</Fonetica><LogradouroTipo>Rua</LogradouroTipo><CEP>82810210</CEP><Bairro>Capao da Imbuia</Bairro><BairroAbrev>C Imbuia</BairroAbrev><IDCidade>6015</IDCidade><Cidade>Curitiba</Cidade><SubCidadeAbrev>Curitiba</SubCidadeAbrev><SubCidade>Curitiba</SubCidade><CodIBGECid>4106902</CodIBGECid><CodIBGEUF>41</CodIBGEUF><UF>PR</UF><Pais>Brasil</Pais><LogradouroIniciais>CM</LogradouroIniciais><NumeroInicial>0</NumeroInicial><NumeroFinal>0</NumeroFinal><DMSLatitude></DMSLatitude><DMSLongitude></DMSLongitude><GDLatitude>0</GDLatitude><GDLongitude>0</GDLongitude></NoXml><TOTAL>1</TOTAL><Developer>Retorno via Webservice desenvolvido com Webdev v22 - PCSOFT - Wx Informatica - adrianoboller@gmail.com - skype adrianoboller - Tempo Total: 10</Developer></Retorno></Xml></Retorno></Xml>
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/Message modified, September, 08 2017 - 10:01 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
| | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on September, 09 2017 - 12:55 AM |
VIDEO DE EXEMPLO
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on January, 31 2018 - 3:29 PM |
Como alterar o endereço de um webservice local por um webservice remoto?
Resposta está aqui nesse link
https://help.windev.com/en-US/…
Endereço = Address = Cadeia de caracteres Usado para substituir o endereço de chamada do Webservice descrito no WSDL por outro URL. Esta propriedade é útil se o Webservice estiver hospedado em servidores diferentes. Esta propriedade possui o seguinte formato: "http: // server: port / webservice_path". Para um Webservice gerado com WINDEV e implantado em um servidor de aplicativos WEBDEV, é o URL do arquivo cuja extensão é "awws".
Notas : A modificação desta propriedade substitui todo o URL descrito no WSDL. Se esta propriedade corresponder a uma string vazia (""), os URLs descritos no WSDL serão reutilizados.
Propriedades associadas ao Webservice
Para lidar com um Webservice por programação, tudo que você precisa fazer é usar o nome do Webservice (encontrado no explorador de projetos). Nota : Um arrastar e soltar pode ser executado a partir do explorador do projeto para o editor de código para inserir o nome do Webservice.
IF Url_Local = True
WS_Adriano..Address = "http://server:port/webservice_path01"
ELSE
WS_Adriano..Address = "http://server:port/webservice_path02"
END
Bons estudos
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Registered member 3,657 messages Popularité : +175 (223 votes) |
|
Posted on May, 30 2019 - 1:56 AM |
| |
| |
| | | |
|
| | | | |
| | |
|