13/06/2010 Development / asp3

Depois de bater muito a cabeça tentando fazer em .net, utilizando WebService, decidi fazer em asp normal mesmo.

Function CalculaSedex(Local,Peso)

if Local = "" or Peso = "" or Peso = 0 then
    
CalculaSedex = 0
    
exit function
end if

'CONSTANTES
Dim url, nCdServico, sCepOrigem, sCepDestino, nVlPeso, CdFormato, nVlComprimento, nVlAltura, nVlLargura, sCdMaoPropria, sCdAvisoRecebimento, nVlDiametro, nVlDeclarado, StrRetorno

nCdServico = "41106"
sCepOrigem = "22631020"
sCepDestino = Local
nVlPeso = Peso
CdFormato = 1
'Formato caixa/pacote, 2 Formato rolo/prisma
nVlComprimento = 0
nVlAltura = 0
nVlLargura = 0
sCdMaoPropria =
"N"
sCdAvisoRecebimento = "N"
nVlDiametro = 0
nVlDeclarado = 0
StrRetorno =
"xml"
url = "http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?
nCdEmpresa=99&
sDsSenha=99&
sCepOrigem="
&sCepOrigem&"&
sCepDestino="
&sCepDestino&"&
nVlPeso="
&Peso&"&
nCdFormato=1&
nVlComprimento=16&
nVlAltura=2&
nVlLargura=12&
sCdMaoPropria=N&
nVlValorDeclarado=0&
sCdAvisoRecebimento=N&
nCdServico="
&nCdServico&"&
nVlDiametro=0&StrRetorno=xml"

Set xmlHttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
Set xmlResult = Server.CreateObject("MSXML2.DomDocument.3.0")

xmlHttp.open "GET", url, true
xmlHttp.Send()
xmlHttp.waitForResponse 4
xmlHttp.waitForResponse 200
xmlResult.loadXML(xmlHttp.ResponseText)

if xmlHttp.ResponseText <> "" or resultado <> "-2" then
     valor = xmlResult.SelectNodes("//Valor").item(0).Text
end if

set xmlHttp = nothing
set xmlResult = nothing

'RETORNO
CalculaSedex = valor

End Function

Caso queira saber todos os parâmetros de retorno // response.write xmlHttp.ResponseText