VRaptor / Restfulie - Serializee null  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

VRaptor: 3.4.1

Será que alguém consegue me ajudar com as seguintes questões:

1) Para receber deserializar dados recebidos como post posso usar isso aqui?



O dado é postado como JSON

2) Quase tudo funciona bem.. exceto que eu tomo um NPE

Caused by: java.lang.NullPointerException
at br.com.caelum.vraptor.serialization.xstream.VRaptorClassMapper.shouldSerializeMember(VRaptorClassMapper.java:55)
at com.thoughtworks.xstream.mapper.MapperWrapper.shouldSerializeMember(MapperWrapper.java:74)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:301)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
... 54 more


O serializee na linha 03 é null!!!

galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

bizarro chamar o shouldSerializeMember na deserialização...

vc tá mandando o json com root? tipo {"dado": {....}}

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Po Lucas, não tinha nem me dado conta.. verdade, né... bem bizarro.

Então, tente com e sem root, ambos deram o mesmo problema.. e se em debug eu inicializo o serializee com new Serializee() rola tudo direitinho.

galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

vc consegue isolar esse problema?

abre uma issue, por favor:
https://github.com/caelum/vraptor/issues

melhor ainda se vc quiser mandar um pull request e contribuir com o VRaptor =)

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Segunda feira vou dar mais uma olhada, se eu encontrar uma solução que parecer consistente eu mando um pull request.

galmeida
galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Finalmente pude voltar à esse problema, e resolvi antes de mais nada validar alguns pontos básicos:

1. versões:

vraptor 3.4.1
restfulie 1.0.1


2. configuração do (de)serializer:



é isso mesmo que deveria ser feito?

galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

teoricamente sim, isso funcionou?

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Não, não funcionou, deu o NPE descrito acima...

acabei de compilar uma versao custom do VRaptor 2.4.1 que inicializa o serializee com new Serializee() na declaração, pelos meus testes em debug, deve resolver... só que não consegui entender o problema, está me parecendo uma correção meio gambiarra

galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

tenta fazer o seguinte:



se isso funcionar a gente corrige no vraptor de verdade

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Não entendi, onde é para fazer isso? de onde devo pegar o xstream?

galmeida
galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

Lucas,

alterando o CustomXStreamBuilder para isso aqui, funcionou:


This message was edited 1 time. Last update was at 15/10/2012 14:16:24


galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

legal!

faz um pull request lah pro VRaptor, por favor?
https://github.com/caelum/vraptor/blob/master/vraptor-core/src/main/java/br/com/caelum/vraptor/serialization/xstream/VRaptorClassMapper.java
começar com o serializee como new Serializee()

ou pelo menos abre uma issue?

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


galmeida
Thread.start()
[Avatar]

Membro desde: 03/11/2004 17:44:16
Mensagens: 38
Offline

mandei o pull request

galmeida
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 8720
Offline

Aceito, valeu!

--
Caelum
www.caelum.com.br

Livro sobre VRaptor, da Casa do Código:http://www.casadocodigo.com.br/products/livro-vraptor


 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team