O WS (criado no Netbeans 7.2) retorna uma String (um nome). Envia-se o nome da cidade e o WS deveria retornar o nome de uma pessoa, assim que estiver ok faço um for para retornar todas as pessoas cadastradas no banco mysql. Já até criei outro WS no eclipse usando Axis2 que parece não usar uma arquivo externo mas continuo sem sucesso, não há retorno. Não sei o que estou fazendo de errado... rsss
Em 4 de janeiro de 2013 15:06, Manoel Campos da Silva Filho <manoelcampos@gmail.com> escreveu:
Vc precisa ver o q o ws retorna. Se for uma struct ou array vc precisa fazer um for no parâmetro result Do getresponse em lua
Em 02/01/2013 20:27, "Luis Reis" <luiscqreis@gmail.com> escreveu:
Manoel, obrigado pela dica anterior. Agora estou usando o exemplo (exemplo8jax.ncl / lua) para consumir WS Java e não está retornando nada. Passo o nome da cidade e deveria retornar os endereços relacionados a ela. O WS está funcionando pois com cliente java retorna o esperado.
Estou usando Eclipse com os plugins NCL Eclipse e Lua Eclipse, além da Virtual Set-top-box v.0.12.4. Agradeço a ajuda.
Segue mensagens da Virtual STB:
Testando o WEB SERVICE
<?xml version="1.0"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://WS/"
>
<soap:Body>
<ns1:consultaLocais>
<cidade>Marituba</cidade>
</ns1:consultaLocais>
</soap:Body>
</soap:Envelope>
Segue o código alterado do exemplo8jax:
package.path = package.path .. ';lib/?.lua'
require "ncluasoap"
local function getResponse(result)
print("\n\n\n--------------------------------RESULTADO--------------------------------")
print(result)
print("--------------------------------RESULTADO--------------------------------\n\n\n")
--event.post {class="ncl", type="presentation", action="stop"}
end
--Cria uma table contendo os dados para envio da requisição SOAP ao WS
local msgTable = {
address = "http://192.168.100.103:8084/JWPet/Pessoa",
--Namespace exatamente como especificado no WSDL, neste caso, terminando com /
namespace = "http://WS/",
operationName = "consultaLocais",
--print ("Conectando") --passando
params = {
cidade = "Marituba"
}
}
--O último parâmetro (externalXsd), de valor true, indica
--que o WS usa um arquivo XSD externo para especificar as definições
--de tipos. Isto influencia no formato da requisição SOAP.
--O valor padrão dele é false.
--Veja documentação do método ncluasoap.call para mais detalhes.
print("Testando o WEB SERVICE")
ncluasoap.call(msgTable, getResponse, "1.1", 8084, true)
Luis ReisEm 14 de dezembro de 2012 16:15, Manoel Campos da Silva Filho <manoelcampos@gmail.com> escreveu:
Parece que está tentando executar o código fora do ginga (direto do windows)e isto não vai funcionar.Vc precisa executar dentro de alguma implementação de Ginga como o Ginga Virtual Set-bop Boxda PUC-Rio.
Manoel Campos Silva Fh, Me
IFTO - Instituto Federal do Tocantins
--2012/12/13 Luis Reis <luiscqreis@gmail.com>Manoel, estou tentando utilizar o modulo ncluasoap com web service criado no netbeans, mas da um erro no tcp.lua na linha 63 - assert(coroutine.resume(co, ...)) - e não passa disso. Estou começando em TVD, se puder me ajudar agradeço.
Código usado para o ncluasoap:
package.path = package.path .. ';lib/?.lua'
require "ncluasoap"
local cc = "Marituba"
--local ip = "192.168.1.103"
local msgTable = {
--address = "http://"..ip..":8084/JWPet/LocalVacina",
address = "http://localhost:8084/JWPet/Pessoa",
namespace = "http://WS/",
operationName = "consultaLocais",
params = { cidade = cc }
}
local function resposta (result)
print ("\n\n ********* Saída da Aplicação *********\n")
print ("Cidade: " ..cc)
-- mostra conteudo
print("-------------------------------------\n"..result)
print ("\n********* Saída da Aplicação *********\n\n")
end
ncluasoap.call(msgTable, resposta,'1.1', 8084, true)
Segue o erro gerado pelo SciTE:
>lua -e "io.stdout:setvbuf 'no'" "main.lua"
<?xml version="1.0"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://WS/"
>
<soap:Body>
<ns1:consultaLocais>
<cidade>Marituba</cidade>
</ns1:consultaLocais>
</soap:Body>
</soap:Envelope>
lua: C:\Program Files (x86)\Lua\5.1\tcp.lua:63: C:\Program Files (x86)\Lua\5.1\tcp.lua:95: attempt to index upvalue 'event' (a nil value)
stack traceback:
[C]: in function 'assert'
C:\Program Files (x86)\Lua\5.1\tcp.lua:63: in function 'resume'
C:\Program Files (x86)\Lua\5.1\tcp.lua:79: in function 'execute'
C:\Program Files (x86)\Lua\5.1\http.lua:89: in function 'request'
.\ncluasoap.lua:365: in function 'call'
main.lua:26: in main chunk
[C]: ?
>Exit code: 1
Luis Reis
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Desenvolvimento para TV digital" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/devdtv/-/IQZ2T4v1F3cJ.
Para postar neste grupo, envie um e-mail para devdtv@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para devdtv+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/devdtv?hl=pt-BR.
Você está recebendo esta mensagem porque se inscreveu no grupo "Desenvolvimento para TV digital" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para devdtv@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para devdtv+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/devdtv?hl=pt-BR.
--
Luis C. Q. Reis
Téc. Proc. de Dados
(91) 9962-4129 --
Você está recebendo esta mensagem porque se inscreveu no grupo "Desenvolvimento para TV digital" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para devdtv@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para devdtv+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/devdtv?hl=pt-BR.
--
Você está recebendo esta mensagem porque se inscreveu no grupo "Desenvolvimento para TV digital" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para devdtv@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para devdtv+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/devdtv?hl=pt-BR.
--
Luis C. Q. Reis
Téc. Proc. de Dados
(91) 9962-4129 --
Você está recebendo esta mensagem porque se inscreveu no grupo "Desenvolvimento para TV digital" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para devdtv@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para devdtv+unsubscribe@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/devdtv?hl=pt-BR.
0 comentários:
Postar um comentário