Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Vamos lá :
Junto com o código eu recebi uma especie de manual.
Descrição: CFML tag que efetua consulta, via HTTP, ao serviço SedexOnline dos Correios para obter o preço do frete de uma encomenda.
Versão: 1.0
Data de atualização: 11/04/2003
Disponibilidade: esta tag é free e o código fonte está disponível. Download aqui. Comentários, dúvidas e report de bugs podem ser enviados para cf_custom_tags@astrolabio.com.br.
Disclaimer: Esta tag é oferecida "as is". Serviço de suporte é oferecido na medida do possível. A informação de preço de encomenda é o retornado pelo serviço SedexOnline dos Correios. O autor ou a Astrolábio não se responsabilizam por quaisquer problemas ocasionados pelo seu uso.
Copyright: Astrolábio Sistemas de Informação Ltda.
Autor:
Marcello Frutig
frutig@astrolabio.com.br
Atributos de entrada e saída:
Atributos de entrada
comentários/valores/exemplos
Servico
opcional
"Convencional", "Hoje", "VIP" e "ACobrar"
UFOrigem
sigla do estado de origem
obrigatório
"RJ", "SP"
LocalOrigem
opcional
"S" - Capital/Área Metropolitana (default)
"N" - Interior do estado
UFdestino
obrigatório
sigla do estado de destino
obrigatório
"DF", "MG"
LocalDestino
opcional
"S" - Capital/Área Metropolitana (default)
"N" - Interior do estado
Peso
peso
opcional
em Kg, default 1Kg
"3", "15"
MaoPropria
opcional
"S" - sim
"N" - não (default)
ValorDeclarado
obrigatório para Servico="ACobrar"
"550", "1000"
AvisoRecebimento
opcional
"S" - sim
"N" - não (default)
PesoMinimo
peso mínimo permitido
opcional
default 1Kg
PesoMaximo
peso máximo permitido
opcional
default 30Kg
UFs
lista das siglas dos estados
opcional
Servicos
estrutura contendo a associação entre nome e código do servico
opcional
"#Variables.Servicos#"
Exemplo de criação da estrutura:
<cfset Variables.Servicos = StructNew()>
<cfset Variables.Servicos.Convencional = 40010>
<cfset Variables.Servicos.Hoje = 40029>
<cfset Variables.Servicos.VIP = 40037>
<cfset Variables.Servicos.ACobrar = 40045>
A estrutura acima é a default.
UFsVIP
lista com as siglas dos estados cujas capitais são atendidas pelo serviço VIP
opcional
default: RJ,SP,MG,DF
Timeout
timeout da conexão HTTP
opcional
default 30 segundos
ProxyServer
endereço do servidor Proxy
opcional
default sem proxy
Debug
exibe (CFOUTPUT) páginas retornadas pelo SedexOnline e estrutura "SedexOnline"
opcional
"Yes", "No" (default)
Atributo de saída:
estrutura SedexOnline
campos/valores
SedexOnline.status
"true" - sucesso, "false"
SedexOnline.erro (estrutura)
SedexOnline.erro.tipo (tipo de erro se SedexOnline.status=false)
SedexOnline.erro.mensagem (mensagem de erro se SedexOnline.status=false)
SedexOnline.erro.detalhe (detalhe do erro se SedexOnline.status=false)
SedexOnline.preco
preço da remessa se SedexOnline.status=true
SedexOnline.versao
versão da tag
SedexOnline.tempoexecucao
tempo de execução em segundos
Regras implementadas:
os atributos UFOrigem e UFDestino são obrigatórios
validação da sigla dos estados de origem e destino
o atributo ValorDeclarado é obrigatório no serviço SEDEX a Cobrar
o atributo ValorDeclarado deve ser numérico
serviço "Hoje" é apenas estadual
serviço "VIP" é apenas para algumas capitais
valor Peso tem valores máximos de acordo com o serviço
ValorDeclarado tem valor máximo (extraído dinamicamente do SedexOnline) Os erros acima são tratados e retornados para a aplicação.
Exemplos:
<!--- Sedex Convencional RJ -> SP (capitais) --->
<CF_SedexOnline
UFOrigem="RJ"
UFDestino="SP">
<!--- Sedex a cobrar RS -> MG --->
<CF_SedexOnline
Servico="ACobrar"
UFOrigem="RS"
UFDestino="MG"
ValorDeclarado="100">
<!--- Sedex Convencional SP (capital) -> ES (interior) --->
<CF_SedexOnline
UFOrigem="SP"
LocalOrigem="S"
UFDestino="ES"
LocalDestino="N">
<!--- Sedex Hoje: estado de PE --->
<CF_SedexOnline
UFOrigem="PE"
UFDestino="PE">
<!--- Sedex VIP --->
<CF_SedexOnline
Servico="VIP"
UFOrigem="DF"
UFDestino="RJ"
Peso="3">
<!--- Exibindo resultado --->
<cfif Not SedexOnline.status>
<cfoutput>
#SedexOnline.erro.tipo#<br>
#SedexOnline.erro.mensagem#<br>
#SedexOnline.erro.detalhe#
</cfoutput>
<cfelse>
Preço da remessa: <cfoutput>#SedexOnline.preco#</cfoutput>
</cfif>
Dependências externas:
Serviço de cálculo de preço de encomendas SedexOnline dos Correios
Allaire™ ColdFusion® Application Server 4.x
Comentários:
testado com Allaire™ ColdFusion® Application Server 4.0.1, Microsoft® Windows NT® version
Allaire and ColdFusion are trademarks of Allaire Corporation
Microsoft and Windows NT are registered trademarks of Microsoft Corporation
Copyright © 2000 Astrolábio Sistemas de Informação Ltda.
Esse foi o manual.
Vamos as páginas:
sedexonline.cfm
<cfsetting enablecfoutputonly="yes"><cfparam name="Attributes.debug" default="No"><cfset Variables.tickBegin = GetTickCount()><cfset Variables.tag = StructNew()><cfset Variables.tag.name = "CF_SedexOnline"><cfset Variables.tag.version = "1.0"><cfset Variables.tag.author = "Astrolabio - cf_custom_tags@astrolabio.com.br"><cfset Variables.tag.useragent = "#Variables.tag.name#/#Variables.tag.version# (#Variables.tag.author#)"><cfset Variables.Erros = ArrayNew(1)><cfset Variables.Erros[1] = StructNew()><cfset Variables.Erros[1].mensagem = "Os seguintes atributos são obrigatórios: UFOrigem e UFDestino."><cfset Variables.Erros[1].detalhe = ""><cfset Variables.Erros[2] = StructNew()><cfset Variables.Erros[2].mensagem = ""><cfset Variables.Erros[2].detalhe = ""><cfset Variables.Erros[3] = StructNew()><cfset Variables.Erros[3].mensagem = "O atributo UFOrigem não possui uma sigla de estado válida."><cfset Variables.Erros[3].detalhe = ""><cfset Variables.Erros[4] = StructNew()><cfset Variables.Erros[4].mensagem = "O atributo UFDestino não possui uma sigla de estado válida."><cfset Variables.Erros[4].detalhe = ""><cfset Variables.Erros[5] = StructNew()><cfset Variables.Erros[5].mensagem = ""><cfset Variables.Erros[5].detalhe = ""><cfset Variables.Erros[6] = StructNew()><cfset Variables.Erros[6].mensagem = ""><cfset Variables.Erros[6].detalhe = ""><cfset Variables.Erros[7] = StructNew()><cfset Variables.Erros[7].mensagem = "O atributo ValorDeclarado é obrigatório no serviço SEDEX a Cobrar."><cfset Variables.Erros[7].detalhe = ""><cfset Variables.Erros[8] = StructNew()><cfset Variables.Erros[8].mensagem = "O atributo ValorDeclarado deve ser numérico."><cfset Variables.Erros[8].detalhe = ""><cfset Variables.Erros[9] = StructNew()><cfset Variables.Erros[9].mensagem = ""><cfset Variables.Erros[9].detalhe = ""><cfset Variables.Erros[10] = StructNew()><cfset Variables.Erros[10].mensagem = "Informação não disponível no momento."><cfset Variables.Erros[10].detalhe = "A informação retornada pelo serviço SedexOnline não foi a esperada."><cfset Variables.Erros[11] = StructNew()><cfset Variables.Erros[11].mensagem = "Os atributos UFOrigem ou UFDestino são inválidos."><cfset Variables.Erros[11].detalhe = ""><!--- inicializa estrutura de retorno ---><cfset Caller.SedexOnline = StructNew()><cfset Caller.SedexOnline.status = true><cfset Caller.SedexOnline.erro = StructNew()><cfset Caller.SedexOnline.erro.tipo = ""><cfset Caller.SedexOnline.erro.mensagem = ""><cfset Caller.SedexOnline.erro.detalhe = ""><cfset Caller.SedexOnline.preco = ""><cfset Caller.SedexOnline.versao = Variables.tag.version><cfset Caller.SedexOnline.tempoexecucao = ""><cftry> <cfif Not IsDefined("Attributes.UFOrigem") or Not IsDefined("Attributes.UFDestino")> <cfset Variables.CodigoErro = 1> <cfthrow type="SedexOnline"> </cfif> <!--- define estrutura com nomes/codigos dos servicos ---> <cfif IsDefined("Attributes.Servicos") and IsStruct(Attributes.Servicos)> <cfset Variables.Servicos = StructCopy(Attributes.Servicos)> <cfelse> <cfset Variables.Servicos = StructNew()> <cfset Variables.Servicos.Convencional = 40010> <cfset Variables.Servicos.Hoje = 40029> <cfset Variables.Servicos.VIP = 40037> <cfset Variables.Servicos.ACobrar = 40045> </cfif> <!--- verifica se servico é valido ---> <cfif Not IsDefined("Attributes.Servico")> <cfset Variables.Servico = Variables.Servicos.Convencional> <cfelse> <cfif Not StructKeyExists(Variables.Servicos,Attributes.Servico)> <cfset Variables.ListaServicos = ArrayToList(StructKeyArray(Variables.Servicos))> <cfset Variables.CodigoErro = 2> <cfset Variables.Erros[Variables.CodigoErro].mensagem = "O atributo Servico deve possuir um dos seguintes valores: #Variables.ListaServicos#."> <cfthrow type="SedexOnline"> <cfelse> <cfset Variables.Servico = StructFind(Variables.Servicos,Attributes.Servico)> </cfif> </cfif> <!--- inicializa lista das siglas de estado validas ---> <cfset crlf = " "> <cfparam name="Attributes.UFs" default=" AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO "> <cfset Attributes.UFs = ReplaceList(Attributes.UFs,"#crlf#, ",",")> <!--- valida sigla dos estados de origem e destino ---> <cfif Not ListFind(Attributes.UFs,Attributes.UFOrigem)> <cfset Variables.CodigoErro = 3> <cfthrow type="SedexOnline"> </cfif> <cfif Not ListFind(Attributes.UFs,Attributes.UFDestino)> <cfset Variables.CodigoErro = 4> <cfthrow type="SedexOnline"> </cfif> <!--- valida origem/destino para modalidade estadual ---> <cfset Variables.ServicoEstadual = "Hoje"> <cfif IsDefined("Attributes.Servico") and Attributes.Servico is Variables.ServicoEstadual and Attributes.UFOrigem is not Attributes.UFDestino> <cfset Variables.CodigoErro = 5> <cfset Variables.Erros[Variables.CodigoErro].mensagem = "A modalidade #Variables.ServicoEstadual# é para entregas no mesmo estado."> <cfthrow type="SedexOnline"> </cfif> <cfset Variables.ServicoVIP = "VIP"> <cfparam name="Attributes.UFsVIP" default="RJ,SP,MG,DF"> <cfif IsDefined("Attributes.Servico") and Attributes.Servico is Variables.ServicoVIP and (Not ListFindNoCase(Attributes.UFsVIP,Attributes.UFOrigem) or Not ListFindNoCase(Attributes.UFsVIP,Attributes.UFDestino))> <cfset Variables.CodigoErro = 11> <cfset Variables.Erros[Variables.CodigoErro].mensagem = "A modalidade #Variables.ServicoVIP# atende apenas as capitais dos estados #Attributes.UFsVIP#."> <cfthrow type="SedexOnline"> </cfif> <!--- define URLs do servico SedexOnline dos Correios ---> <cfset Variables.SedexOnlineURL = "http://www.correios.com.br/sedexonline"> <cfparam name="Attributes.SedexOnlineURL1" default="#Variables.SedexOnlineURL#/tarifa.asp"> <cfparam name="Attributes.SedexOnlineURL2" default="#Variables.SedexOnlineURL#/redirect.asp"> <!--- define valores default dos outros atributos ---> <cfparam name="Attributes.Timeout" default="30"> <cfparam name="Attributes.LocalOrigem" default="S"> <cfparam name="Attributes.LocalDestino" default="S"> <cfparam name="Attributes.Peso" default="1"> <cfparam name="Attributes.MaoPropria" default="N"> <cfparam name="Attributes.ValorDeclarado" default=""> <cfparam name="Attributes.AvisoRecebimento" default="N"> <!--- verifica se peso é valido ---> <cfparam name="Attributes.PesoMinimo" default="1"> <cfparam name="Attributes.PesoMaximo" default="30"> <cfset Variables.PesoMaximoEspecial = 5> <cfif IsDefined("Attributes.Servico") and (Attributes.Servico is Variables.ServicoEstadual or Attributes.Servico is Variables.ServicoVIP) and Attributes.PesoMaximo is not Variables.PesoMaximoEspecial> <cfset Attributes.PesoMaximo = Variables.PesoMaximoEspecial> </cfif> <cfif Attributes.Peso lt Attributes.PesoMinimo or Attributes.Peso gt Attributes.PesoMaximo> <cfset Variables.CodigoErro = 6> <cfset Variables.Erros[Variables.CodigoErro].mensagem = "O atributo Peso deve ser maior que #Attributes.PesoMinimo#Kg e menor que #Attributes.PesoMaximo#Kg."> <cfthrow type="SedexOnline"> </cfif> <!--- Valor declarado é obrigatório para serviço a cobrar ---> <cfif Variables.Servico is Variables.Servicos.ACobrar and Not Len(Attributes.ValorDeclarado)> <cfset Variables.CodigoErro = 7> <cfthrow type="SedexOnline"> </cfif> <!--- valida valor declarado ---> <cfif Len(Attributes.ValorDeclarado)> <cfif Not IsNumeric(Attributes.ValorDeclarado)> <cfset Variables.CodigoErro = 8> <cfthrow type="SedexOnline"> <cfelse> <cfset Attributes.ValorDeclarado = DecimalFormat(Attributes.ValorDeclarado)> </cfif> </cfif> <!--- obtem valor da remessa ---> <!--- submete atributos e obtem primeira pagina de retorno ---> <cfif IsDefined("Attributes.ProxyServer") and Len(Attributes.ProxyServer)> <cfhttp url="#Attributes.SedexOnlineURL1#" method="post" proxyserver="#Attributes.ProxyServer#" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> <cfhttpparam name="Servico" value="#Variables.Servico#" type="FORMFIELD"> <cfhttpparam name="UForigem" value="#Attributes.UFOrigem#" type="FORMFIELD"> <cfhttpparam name="UFdestino" value="#Attributes.UFDestino#" type="FORMFIELD"> <cfhttpparam name="LocalOrigem" value="#Attributes.LocalOrigem#" type="FORMFIELD"> <cfhttpparam name="LocalDestino" value="#Attributes.LocalDestino#" type="FORMFIELD"> <cfhttpparam name="Peso" value="#Attributes.Peso#" type="FORMFIELD"> <cfhttpparam name="MaoPropria" value="#Attributes.MaoPropria#" type="FORMFIELD"> <cfhttpparam name="ValorDeclarado" value="#Attributes.ValorDeclarado#" type="FORMFIELD"> <cfhttpparam name="AvisoRecebimento" value="#Attributes.AvisoRecebimento#" type="FORMFIELD"> </cfhttp> <cfelse> <cfhttp url="#Attributes.SedexOnlineURL1#" method="post" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> <cfhttpparam name="Servico" value="#Variables.Servico#" type="FORMFIELD"> <cfhttpparam name="UForigem" value="#Attributes.UFOrigem#" type="FORMFIELD"> <cfhttpparam name="UFdestino" value="#Attributes.UFDestino#" type="FORMFIELD"> <cfhttpparam name="LocalOrigem" value="#Attributes.LocalOrigem#" type="FORMFIELD"> <cfhttpparam name="LocalDestino" value="#Attributes.LocalDestino#" type="FORMFIELD"> <cfhttpparam name="Peso" value="#Attributes.Peso#" type="FORMFIELD"> <cfhttpparam name="MaoPropria" value="#Attributes.MaoPropria#" type="FORMFIELD"> <cfhttpparam name="ValorDeclarado" value="#Attributes.ValorDeclarado#" type="FORMFIELD"> <cfhttpparam name="AvisoRecebimento" value="#Attributes.AvisoRecebimento#" type="FORMFIELD"> </cfhttp> </cfif> <cfif Attributes.debug> <cfoutput>#HTMLCodeFormat(CFHTTP.FileContent)#<hr></cfoutput> </cfif> <!--- obtem valor declarado maximo ---> <CF_SedexOnlineParser strInicial="Number(parseFloat(document.Form1.ValorDeclarado.value)) >" strFinal="){" conteudo="#CFHTTP.FileContent#"> <cfif Not Len(SedexOnlineParserString)> <cfset Variables.CodigoErro = 10> <cfthrow type="SedexOnline"> </cfif> <cfset Variables.ValorMaximoDeclarado = SedexOnlineParserString> <cfif Attributes.ValorDeclarado gt DecimalFormat(Variables.ValorMaximoDeclarado)> <cfset Variables.CodigoErro = 9> <cfset Variables.Erros[Variables.CodigoErro].mensagem = "O atributo ValorDeclarado máximo é R$#Variables.ValorMaximoDeclarado#."> <cfthrow type="SedexOnline"> </cfif> <!--- acessa pagina de redirect ---> <cfif IsDefined("Attributes.ProxyServer") and Len(Attributes.ProxyServer)> <cfhttp url="#Attributes.SedexOnlineURL2#" method="post" proxyserver="#Attributes.ProxyServer#" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> <cfhttpparam name="Servico" value="#Variables.Servico#" type="FORMFIELD"> <cfhttpparam name="UForigem" value="#Attributes.UFOrigem#" type="FORMFIELD"> <cfhttpparam name="UFdestino" value="#Attributes.UFDestino#" type="FORMFIELD"> <cfhttpparam name="LocalOrigem" value="#Attributes.LocalOrigem#" type="FORMFIELD"> <cfhttpparam name="LocalDestino" value="#Attributes.LocalDestino#" type="FORMFIELD"> <cfhttpparam name="Peso" value="#Attributes.Peso#" type="FORMFIELD"> <cfhttpparam name="MaoPropria" value="#Attributes.MaoPropria#" type="FORMFIELD"> <cfhttpparam name="ValorDeclarado" value="#Attributes.ValorDeclarado#" type="FORMFIELD"> <cfhttpparam name="AvisoRecebimento" value="#Attributes.AvisoRecebimento#" type="FORMFIELD"> <cfhttpparam name="Resposta" value="resposta.asp" type="FORMFIELD"> </cfhttp> <cfelse> <cfhttp url="#Attributes.SedexOnlineURL2#" method="post" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> <cfhttpparam name="Servico" value="#Variables.Servico#" type="FORMFIELD"> <cfhttpparam name="UForigem" value="#Attributes.UFOrigem#" type="FORMFIELD"> <cfhttpparam name="UFdestino" value="#Attributes.UFDestino#" type="FORMFIELD"> <cfhttpparam name="LocalOrigem" value="#Attributes.LocalOrigem#" type="FORMFIELD"> <cfhttpparam name="LocalDestino" value="#Attributes.LocalDestino#" type="FORMFIELD"> <cfhttpparam name="Peso" value="#Attributes.Peso#" type="FORMFIELD"> <cfhttpparam name="MaoPropria" value="#Attributes.MaoPropria#" type="FORMFIELD"> <cfhttpparam name="ValorDeclarado" value="#Attributes.ValorDeclarado#" type="FORMFIELD"> <cfhttpparam name="AvisoRecebimento" value="#Attributes.AvisoRecebimento#" type="FORMFIELD"> <cfhttpparam name="Resposta" value="resposta.asp" type="FORMFIELD"> </cfhttp> </cfif> <cfif Attributes.debug> <cfoutput>#HTMLCodeFormat(CFHTTP.FileContent)#<hr></cfoutput> </cfif> <!--- obtem url que exibirá a pagina com o resultado final ---> <CF_SedexOnlineParser strInicial="replace('" strFinal="')" conteudo="#CFHTTP.FileContent#"> <cfif Not Len(SedexOnlineParserString)> <cfset Variables.CodigoErro = 10> <cfthrow type="SedexOnline"> </cfif> <cfset Variables.SedexOnlineURL3 = "#Variables.SedexOnlineURL#/#SedexOnlineParserString#"> <!--- obtem a pagina final ---> <cfif IsDefined("Attributes.ProxyServer") and Len(Attributes.ProxyServer)> <cfhttp url="#Variables.SedexOnlineURL3#" method="post" proxyserver="#Attributes.ProxyServer#" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> </cfhttp> <cfelse> <cfhttp url="#Variables.SedexOnlineURL3#" method="post" timeout="#Attributes.Timeout#"> <cfhttpparam name="USER_AGENT" value="#Variables.tag.useragent#" type="CGI"> </cfhttp> </cfif> <cfif Attributes.debug> <cfoutput>#HTMLCodeFormat(CFHTTP.FileContent)#<hr></cfoutput> </cfif> <!--- extrai preco ---> <CF_SedexOnlineParser strInicial="<strong>R$" strFinal="</strong>" conteudo="#CFHTTP.FileContent#"> <cfif Not Len(SedexOnlineParserString)> <cfset Variables.CodigoErro = 10> <cfthrow type="SedexOnline"> </cfif> <cfset Caller.SedexOnline.preco = SedexOnlineParserString> <cfcatch type="SedexOnline"> <cfset Caller.SedexOnline.status = false> <cfset Caller.SedexOnline.erro.tipo = "SedexOnline"> <cfset Caller.SedexOnline.erro.mensagem = Variables.Erros[Variables.CodigoErro].mensagem> <cfset Caller.SedexOnline.erro.detalhe = Variables.Erros[Variables.CodigoErro].detalhe> </cfcatch> <cfcatch type="Any"> <cfset Caller.SedexOnline.status = false> <cfset Caller.SedexOnline.erro.tipo = cfcatch.type> <cfset Caller.SedexOnline.erro.mensagem = cfcatch.message> <cfset Caller.SedexOnline.erro.detalhe = cfcatch.detail> </cfcatch> </cftry><!--- inclui informacoes sobre a tag na pagina que a chamou ---><cfoutput><!-- #Variables.tag.name# v#Variables.tag.version# - #Variables.tag.author# --></cfoutput><!--- tempo de execucao ---><cfset Caller.SedexOnline.tempoexecucao = DecimalFormat((GetTickCount() - Variables.tickBegin) / 1000)><!--- se em modo debug, exibe estrutura de retorno ---><cfif Attributes.debug> <cfoutput> <p> <table border="1" cellpadding="2" cellspacing="2" style="font-family:arial; font-size:10pt"> <tr><th colspan="2">#Variables.tag.name#</th></tr> <tr><td>SedexOnline.status</td><td align="center">#Caller.SedexOnline.status#</td></tr> <tr><td>SedexOnline.erro.tipo</td><td align="center"><cfif Len(Caller.SedexOnline.erro.tipo)>#Caller.SedexOnline.erro.tipo#<cfelse>-</cfif></td></tr> <tr><td>SedexOnline.erro.mensagem</td><td align="center"><cfif Len(Caller.SedexOnline.erro.mensagem)>#Caller.SedexOnline.erro.mensagem#<cfelse>-</cfif></td></tr> <tr><td>SedexOnline.erro.detalhe</td><td align="center"><cfif Len(Caller.SedexOnline.erro.detalhe)>#Caller.SedexOnline.erro.detalhe#<cfelse>-</cfif></td></tr> <tr><td>SedexOnline.preco</td><td align="center"><cfif Len(Caller.SedexOnline.preco)>#Caller.SedexOnline.preco#<cfelse>-</cfif></td></tr> <tr><td>SedexOnline.versao</td><td align="center">#Caller.SedexOnline.versao#</td></tr> <tr><td>SedexOnline.tempoexecucao</td><td align="center">#Caller.SedexOnline.tempoexecucao#</td></tr> </table> </cfoutput></cfif><cfsetting enablecfoutputonly="no">
e sedexonlineparser.cfm
<cfsetting enablecfoutputonly="yes"><cfset Variables.inicio = Find(Attributes.strInicial,Attributes.conteudo)><cfif Variables.inicio is 0> <cfset Caller.SedexOnlineParserString = ""> <cfexit><cfelse> <cfset Variables.inicio = Variables.inicio + Len(Attributes.strInicial)></cfif><cfset Variables.fim = Find(Attributes.strFinal,Attributes.conteudo,Variables.inicio)><cfif Variables.fim is 0> <cfset Caller.SedexOnlineParserString = ""> <cfexit></cfif><cfset Variables.count = Variables.fim - Variables.inicio><cfset Caller.SedexOnlineParserString = Trim(Mid(Attributes.conteudo,Variables.inicio,Variables.count))><cfsetting enablecfoutputonly="no">
Esse código busca tudo dentro do banco de dados dos correios, agora resta saber como utiliza-lo de forma correta.
Se alguem tiver alguma ideia posta aeeeee.
hehehehe
Valeu galera !
Carregando comentários...