File: test-server.lua

package info (click to toggle)
lua-soap 3.0%2Bgit91419a7-1
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch
  • size: 184 kB
  • ctags: 65
  • sloc: makefile: 22
file content (102 lines) | stat: -rwxr-xr-x 3,310 bytes parent folder | download | duplicates (4)
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---------------------------------------------------------------------
-- $Id:$
---------------------------------------------------------------------

---------------------------------------------------------------------
-- Fake cgilua support

local function donothing() end
cgilua = {
	contentheader = donothing,
	header = donothing,
	put = print,
	seterroroutput = donothing, --function(f) f("error message") end,
}

local server = require("soap.server")

---------------------------------------------------------------------
local fake_data = {
	{
		{ codigo = 1, sequencial = 2, legenda = 'Bla', ordem = 1, },
		{ codigo = 1, sequencial = 1, legenda = 'bla', ordem = 2, },
		{ codigo = 2, sequencial = 1, legenda = 'bLA', ordem = 3, },
	},
	{
		{ codigo = 3, sequencial = 2, legenda = 'BlaBla', ordem = 1, },
		{ codigo = 3, sequencial = 1, legenda = 'blaBla', ordem = 2, },
		{ codigo = 2, sequencial = 1, legenda = 'bLABla', ordem = 3, },
	},
}

---------------------------------------------------------------------
function lista_imagens_galeria (galeria)
	assert (galeria, "Nil argument #1 to 'lista_imagens_galeria'")
	local tg = type(galeria)
	assert (tg == "table", "Bad argument #1 to 'lista_imagens_galeria' (table expected, got "..tg..")")
	local tgid = type(galeria.id)
	assert (tgid == "string", "Bad argument #1 to 'lista_imagens_galeria' (number expected, got "..tgid..")")
	assert (tonumber(galeria) and galeria ~= "inf" and galeria ~= "nan", "Bad argument #1 to 'lista_imagens_galeria' (number expected, got {"..tostring(galeria).."}")

	local imgs = fake_data[galeria.id]

	local dados = { tag = "ImagensGaleria" }
	for i = 1, #imgs do
		local row = imgs[i]
		tinsert (dados, {
			tag = "Imagem",
			{ tag = "codigo", row.codigo },
			{ tag = "sequencial", row.sequencial },
			{ tag = "legenda", row.legenda },
			{ tag = "ordem", row.ordem },
		})
	end
	return dados
end

---------------------------------------------------------------------
local namespace = server_name and string.format("http://%s/path/", server_name)
	or "http://my.server.name/path/"
local script = namespace.."this_script.lua"

local disco = string.format([=[<?xml version="1.0" encoding="iso-8859-1" ?>
<discovery
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://schemas.xmlsoap.org/disco/">
<contractRef
	ref="%s?wsdl"
	docRef="%s"
	xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap
	address="%s"
	xmlns="listaImagensGaleriaSoapBind"
	binding="listaImagensGaleriaSoapBind"
	xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery>]=], script, script, script)

server.register_service_info("listaImagensGaleria",
	namespace,
	script, nil, disco)

server.export {
	name = "listaImagensGaleria",
	method = lista_imagens_galeria,
	message = {
		name = "Galeria",
		{ name = "id", occurence = 1, type = "integer", },
	},
	response = {
		name = "ImagensGaleria",
		{
			name = "Imagem",
			{ name = "codigo", occurence = 1, type = "integer", },
			{ name = "sequencial", occurence = 1, type = "integer", },
			{ name = "legenda", occurence = 1, type = "string", },
			{ name = "ordem", occurence = 1, type = "integer", },
		},
	},
}

---------------------------------------------------------------------
server.handle_request (nil, "wsdl")