PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 24 → Example Webservice with Image serializade
Example Webservice with Image serializade
Débuté par adrianoboller, 28 jan. 2015 14:19 - 5 réponses
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:19
Procedure ConsultaPrefeitura(LOCAL ID, LOCAL UltimaData)

X, TamanhoArrayImagem is int = 0
Resultado is string = ""

ImagemPrefeito is string

IF ID = "" THEN

Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura

IF t001prefeitura.t001ultimadata > UltimaData
X += 1 // Sem filtro

//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)

Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"

ELSE

Resultado += "<Xml><Retorno>"
FOR EACH t001prefeitura
IF t001prefeitura.t001idprefeitura=ID AND t001prefeitura.t001ultimadata > UltimaData //Com filtro
X += 1

ImagemPrefeito = Crypt (t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)

Resultado += "<Prefeitura id="+Charact(34)+X+Charact(34)+">"
Resultado += "<t001apelidoprefeito>" + NoSpace(t001prefeitura.t001apelidoprefeito) + "</t001apelidoprefeito>"
Resultado += "<t001associacao>" + NoSpace(t001prefeitura.t001associacao) + "</t001associacao>"
Resultado += "<t001bairro>" + NoSpace(t001prefeitura.t001bairro) + "</t001bairro>"
Resultado += "<t001cep>" + NoSpace(t001prefeitura.t001cep) + "</t001cep>"
Resultado += "<t001cidade>" + NoSpace(t001prefeitura.t001cidade) + "</t001cidade>"
Resultado += "<t001codIbge>" + NoSpace(t001prefeitura.t001codIbge) + "</t001codIbge>"
Resultado += "<t001codigo>" + NoSpace(t001prefeitura.t001codigo) + "</t001codigo>"
Resultado += "<t001complemento>" + NoSpace(t001prefeitura.t001complemento) + "</t001complemento>"
Resultado += "<t001emailprefeito>" + NoSpace(t001prefeitura.t001emailprefeito) + "</t001emailprefeito>"
Resultado += "<t001emailprefeitura>" + NoSpace(t001prefeitura.t001emailprefeitura) + "</t001emailprefeitura>"
Resultado += "<t001endereco>" + NoSpace(t001prefeitura.t001endereco) + "</t001endereco>"
Resultado += "<t001escritorioregional>" + NoSpace(t001prefeitura.t001escritorioregional) + "</t001escritorioregional>"
Resultado += "<t001gentilico>" + NoSpace(t001prefeitura.t001gentilico) + "</t001gentilico>"
Resultado += "<t001idprefeitura>" + NoSpace(t001prefeitura.t001idprefeitura) + "</t001idprefeitura>"
Resultado += "<t001nomemunicipio>" + NoSpace(t001prefeitura.t001nomemunicipio) + "</t001nomemunicipio>"
Resultado += "<t001nomeprefeito>" + NoSpace(t001prefeitura.t001nomeprefeito) + "</t001nomeprefeito>"
Resultado += "<t001partidoprefeito>" + NoSpace(t001prefeitura.t001partidoprefeito) + "</t001partidoprefeito>"
Resultado += "<t001populacao>" + NoSpace(t001prefeitura.t001populacao) + "</t001populacao>"
Resultado += "<t001telefoneprefeito>" + NoSpace(t001prefeitura.t001telefoneprefeito) + "</t001telefoneprefeito>"
Resultado += "<t001telfoneprefeitura>" + NoSpace(t001prefeitura.t001telfoneprefeitura) + "</t001telfoneprefeitura>"
Resultado += "<t001uf>" + NoSpace(t001prefeitura.t001uf) + "</t001uf>"
Resultado += "<t001ultimadata>" + NoSpace(t001prefeitura.t001ultimadata) + "</t001ultimadata>"
Resultado += "<t001fotoprefeito>" + NoSpace(ImagemPrefeito) + "</t001fotoprefeito>"
Resultado += "</Prefeitura>"
END
END
IF X = 0 THEN
Resultado += "<Prefeitura id="+Charact(34)+0+Charact(34)+">"
Resultado += "<Erro>Registro não encontrado</Erro>"
Resultado += "</Prefeitura>"
END
Resultado += "<TOTAL>"+X+"</TOTAL>"
Resultado += "</Retorno></Xml>"

END

RESULT (Resultado)
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:19
Obs.:

//Converte campo blob imagem em um array de string para mandar a imagem pelo webservice
ImagemPrefeito = Crypt(t001prefeitura.t001fotoprefeito,"ParanaCidade",cryptAnsi,encodeBASE64)
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:29
//IMAGEM Carregar
IMG_FotoPrefeito = QRY_T001prefeitura.t001fotoprefeito
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:30
Procedure RefreshFiltro(LOCAL CodIdPref)

IF CodIdPref > 0 THEN

NextTitle("Atualizando Dados...")
HourGlass(True)

ok is boolean = HExecuteQuery(QRY_T001prefeitura_SelectX,hQueryDefault,CodIdPref)

IF ok = True THEN
//info("OK")
FOR EACH QRY_T001prefeitura_SelectX
STC_MunicipioA = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_MunicipioB = QRY_T001prefeitura_SelectX.t001nomemunicipio
STC_PopulacaoA = QRY_T001prefeitura_SelectX.t001populacao
STC_PopulacaoB = QRY_T001prefeitura_SelectX.t001populacao
STC_RegionalA = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_RegionalB = QRY_T001prefeitura_SelectX.t001escritorioregional
STC_AssociacaoA = QRY_T001prefeitura_SelectX.t001associacao
STC_AssociacaoB = QRY_T001prefeitura_SelectX.t001associacao
STC_GentilicoA = QRY_T001prefeitura_SelectX.t001gentilico
STC_GentilicoB = QRY_T001prefeitura_SelectX.t001gentilico
STC_EnderecoA = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+ Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro +"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_EnderecoB = Clip(QRY_T001prefeitura_SelectX.t001endereco) +" "+ Clip(QRY_T001prefeitura_SelectX.t001complemento) +" Bairro: "+ QRY_T001prefeitura_SelectX.t001bairro +"Cep: "+QRY_T001prefeitura_SelectX.t001cep
STC_TelPrefeituraA = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_TelPrefeituraB = QRY_T001prefeitura_SelectX.t001telfoneprefeitura
STC_NomePrefA = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_NomePrefB = QRY_T001prefeitura_SelectX.t001nomeprefeito
STC_ApelidoA = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_ApelidoB = QRY_T001prefeitura_SelectX.t001apelidoprefeito
STC_PartidoA = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_PartidoB = QRY_T001prefeitura_SelectX.t001partidoprefeito
STC_TelPrefeitoA = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_TelPrefeitoB = QRY_T001prefeitura_SelectX.t001telefoneprefeito
STC_EmailMunA = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailMunB = QRY_T001prefeitura_SelectX.t001emailprefeitura
STC_EmailPrefeitoA = QRY_T001prefeitura_SelectX.t001emailprefeito
STC_EmailPrefeitoB = QRY_T001prefeitura_SelectX.t001emailprefeito
IMG_FotoPrefeito1 = QRY_T001prefeitura_SelectX.t001fotoprefeito
IMG_FotoPrefeito2 = QRY_T001prefeitura_SelectX.t001fotoprefeito
END

RefreshMensagens()

RefreshOperacoes()

RefreshProjetos()

RefreshSituacao()

RefreshLotes()

ELSE
Info("Erro")
END

HourGlass(False)

END
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:32
//Lê Webservice importa a foto para a tabela descriptografando

Procedure WS_IncluiAltera_T001prefeitura(ParIdPrefeitura,ParNomeMunicipio,ParPopulacao,ParGentilico,ParEndereco,ParComplemento,ParBairro,ParCidade,ParIbge,ParUf,ParCep,ParEmailPrefeitura,ParEmailPrefeito,ParTelPrefeitura,ParTelPrefeito,ParRegional,ParAssociacao,ParNomePrefeito,ParApelido,ParPartido,ParUltimaData,ParFoto)

//variaveis
ok is boolean = False

ChangeCharset(charsetOccidental) // SEM ACENTO

//Xml
IF ParUltimaData = ""
ParUltimaData = Hoje("")
END

GloTotalImport += 1
IF gbTabletiPad = True
WIN_06Sincronizar_iPad.PROGBAR_Total..Value = GloTotalImport
END
IF GloTotalImport >= 100 THEN
GloTotalImport = 0
END

IF gsUltimaData <> ""
//loop de leitura do xml - filtro unico cidade
HReadSeekFirst(t001prefeitura,t001prefeitura.t001nomemunicipio,ParNomeMunicipio)
IF HFound(t001prefeitura) = False
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HAdd(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Insert")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
ELSE IF HFound(t001prefeitura) = True AND t001prefeitura.t001ultimadata <> ParUltimaData
//ou Update
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END
//fim do loop de leitura do xml
ELSE
// se nao tem insert
t001prefeitura.t001idprefeitura = ParIdPrefeitura
t001prefeitura.t001nomemunicipio = ParNomeMunicipio
t001prefeitura.t001populacao = ParPopulacao
t001prefeitura.t001gentilico = ParGentilico
t001prefeitura.t001endereco = ParEndereco
t001prefeitura.t001complemento = ParComplemento
t001prefeitura.t001bairro = ParBairro
t001prefeitura.t001cidade = ParCidade
t001prefeitura.t001codIbge = ParIbge
t001prefeitura.t001uf = ParUf
t001prefeitura.t001cep = ParCep
t001prefeitura.t001emailprefeitura = ParEmailPrefeitura
t001prefeitura.t001emailprefeito = ParEmailPrefeito
t001prefeitura.t001telfoneprefeitura = ParTelPrefeitura
t001prefeitura.t001telefoneprefeito = ParTelPrefeito
t001prefeitura.t001escritorioregional = ParRegional
t001prefeitura.t001associacao = ParAssociacao
t001prefeitura.t001nomeprefeito = ParNomePrefeito
t001prefeitura.t001apelidoprefeito = ParApelido
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)
t001prefeitura.t001partidoprefeito = ParPartido
t001prefeitura.t001ultimadata = ParUltimaData
IF ParIdPrefeitura <> ""
ok = HModify(t001prefeitura)
IF ok = False THEN
NextTitle("Carga QRY_T001prefeitura_Update")
Info("Registro: "+ParNomeMunicipio,"Ocorreu um erro inesperado.",ErrorInfo())
END
END
END


RESULT(ok)
Membre enregistré
2 969 messages
Popularité : +89 (91 votes)
Posté le 28 janvier 2015 - 14:33
//Detalhe importante do codigo acima
t001prefeitura.t001fotoprefeito = Uncrypt(ParFoto,"ParanaCidade",cryptAnsi, encodeBASE64)