-
Notifications
You must be signed in to change notification settings - Fork 1
/
example_weather.lua
67 lines (47 loc) · 1.94 KB
/
example_weather.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---Aplicação de exemplo que consome Web Service para conversão de moedas.
--@author Manoel Campos da Silva Filho<br>
--<a href="http://manoelcampos.com">http://manoelcampos.com</a>
--Adiciona o diretório lib ao path de bibliotecas, para que a aplicação encontre
--os módulos disponibilizados
package.path = package.path .. ';lib/?.lua'
require "weblua"
local util = require "util"
local weather_info = {}
---Função para processar a resposta da requisição SOAP enviada ao WS
--@param result Resultado da chamada ao método remoto via SOAP.
--No caso deste Web Service, o resultado é uma variável primitiva simples (ou seja, contendo apenas um valor)
local function getResponse(result)
--Forma de uso com NCLua SOAP anterior a 0.5.6
--print("\n\n---------Cotação do Dolar em Reais:", result.ConversionRateResult, "\n\n")
weather_info = result
print("\n\n\n--------------------------------RESULTADO--------------------------------")
print(" Cotação do Dolar em Reais:", result)
print("--------------------------------RESULTADO--------------------------------\n\n\n")
--Finaliza o script lua. Um link no NCL finalizará a aplicação NCL quando o nó lua for finalizado
--event.post {class="ncl", type="presentation", action="stop"}
end
local msgTable = {}
msgTable = {
namespace = "http://www.webserviceX.NET",
operationName = "GetWeather",
params = {
CityName = "Salvador",
CountryName = "Brazil"
}
}
soap_request("http://www.webservicex.net/globalweather.asmx", msgTable, getResponse)
function handler(evt)
if (evt.class == 'key' and evt.type == 'press') then
print("key:", evt.key)
if evt.key == 'RED' then
event.post {class="ncl", type="presentation", action="stop"}
end
if evt.key == 'YELLOW' then
print "======"
for k, v in pairs(weather_info) do
print(k,v)
end
end
end
end
event.register(handler)