Seguidores

Tecnologia do Blogger.
RSS

Re: [devdtv] Erro NCLuaSOAP e WS JAX


        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 Reis

Em 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 Box
da PUC-Rio.


logo 
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.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário