Formatando Response do Savon

72 views
Skip to first unread message

Igor Maneschy

unread,
Feb 14, 2013, 9:05:56 AM2/14/13
to rail...@googlegroups.com
Bom dia Galera , estou iniciando um projeto que vou ter que consumir um webservice SOAP , ( nesse momento não tem como ser feito REST ) e eu vou só consumir o WS , bom depois de alguns dias batendo cabeça , optei por usar o Savon. bom no Savon está indo tudo sobre controle , estou consumindo o WS, porém o mesmo retorna um objeto soap , que quando eu printo ele na tela , mesmo convertendo em json por exemplo ele tá todo zuado , não sei se é alguma chamada do savon que tá faltando , ou se tem que formatar na mão , de qualquer forma gostaria de uma LUZ dos amigos mais experientes do grupo , seque meu codigo :

obs : to usando Sinatra :

    client = Savon.client(wsdl: "http://meuWS/Service.php?wsdl")
    message = {name: params['consulta'], state: params['estado']}
    begin
        response = client.call(:search, message: message)
    rescue Savon::SOAP::Fault => fault
        log fault.to_s
    end

    resultado = response.to_xml 
  erb "<div class = 'form-inline well'> Dados encontrados: #{resultado} </div>"


e aqui é o resultado que essa chamada gera :


<div class = 'form-inline well'> Dados encontrados:<pre> <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:searchResponse xmlns:ns1="urn:server.processo"><return xsi:type="xsd:string">[{&quot;processo_numero&quot;:&quot;0004604-68.2004.8.19.0063&quot;,&quot;processo_antigo&quot;:&quot;2004.063.004565-0&quot;,&quot;data_pesquisa&quot;:&quot;14\/02\/2013 12:02:50&quot;,&quot;distribuicao&quot;:&quot;15\/07\/2004&quot;,&quot;tipo_processo&quot;:&quot;Primeira inst\u00e2ncia&quot;,&quot;comarca&quot;:&quot;Comarca de Tr\u00eas Rios&quot;,&quot;cartorio&quot;:&quot;Justi\u00e7a Itinerante de Areal&quot;,&quot;endereco&quot;:&quot;Pra\u00e7a Presidente Castelo Branco \u00a0 s\/n \u00a0 em frente ao n\u00ba 375 \u00a0&quot;,&quot;bairro&quot;:&quot;Centro&quot;,&quot;cidade&quot;:&quot;Areal&quot;,&quot;acao&quot;:&quot;Habilita\u00e7\u00e3o para casamento&quot;,&quot;assunto&quot;:&quot;Registro Civil das Pessoas Naturais&quot;,&quot;classe&quot;:&quot;Habilita\u00e7\u00e3o para Casamento - RCPN&quot;,&quot;processos_no_tribunal&quot;:&quot;N\u00e3o h\u00e1.&quot;,&quot;partes&quot;:[{&quot;partes.tipo&quot;:&quot;Habilitante&quot;,&quot;partes.nome&quot;:&quot;ANTONIO PEREIRA DA SILVA NETO&quot;},{&quot;partes.tipo&quot;:&quot;Habilitante&quot;,&quot;partes.nome&quot;:&quot;VANDERLEIA DAS GRA\u00c7AS ZIMBR\u00c4O&quot;}],&quot;advogados&quot;:[],&quot;andamentos&quot;:[]}]</return></ns1:searchResponse></SOAP-ENV:Body></SOAP-ENV:Envelope></pre> </div>
</div>
 

Valeu Galera.

Rogerio Medeiros

unread,
Feb 14, 2013, 10:18:04 AM2/14/13
to rail...@googlegroups.com
O que seria o zuado ?

--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+u...@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: http://goo.gl/YGgt7
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
att,

Rogerio

A complicação se descomplica na mesma proporção que fazemos os nós se desatarem ao tecer o conhecimento do saber.

Igor Maneschy

unread,
Feb 14, 2013, 10:22:38 AM2/14/13
to rail...@googlegroups.com
Obrigado ao Vitor que me ajudou  a resolver  .

Só precisa converte em Json , dessa forma :

JSON.parse(response.to_hash[:search_response][:return])


Valeu .

Igor Maneschy

unread,
Feb 14, 2013, 10:22:40 AM2/14/13
to rail...@googlegroups.com
Obrigado ao Vitor que me ajudou  a resolver  .

Só precisa converte em Json , dessa forma :

JSON.parse(response.to_hash[:search_response][:return])


Valeu .

Em quinta-feira, 14 de fevereiro de 2013 12h05min56s UTC-2, Igor Maneschy escreveu:
Reply all
Reply to author
Forward
0 new messages