[RESOLVIDO] Converter Objeto para XML com o XStream J2ME

Boa noite galera,

Estou desenvolvendo um projeto para a disciplina de Programação para Dispositivos Móveis, na qual tenho uma aplicação J2ME se comunicando com uma aplicação J2EE, e pelo que tenho conhecimento, umas das coisa mais “chatas” é enviar dados ou objetos para a aplicação J2EE, pois o trafego é feito apenas com bytes. Com essa problemática andei pesquisando como enviar de uma maneira mais fácil, encontrei um jeito de converter esse(s) objeto(s) num arquivo XML assim como a biblioteca XStream trabalha, retornando uma String do XML, dai eu convertendo a String em byte [] dados e enviaria; já na aplicação J2EE eu pegaria a String e convertia para um objeto novamente, porém quando mando limpar e construir ou executar o projeto apresenta o seguinte erro:

Error preverifying class javax.xml.stream.XMLEventReader
java/lang/NoClassDefFoundError: java/util/Iterator

Pelo que entendi o J2ME tem limitações de se trabalhar com o XStream, pois a biblioteca utiliza uma classe “Iterator” do pacote, “java.util” como tem na plataforma J2EE e SE, pois bem, se alguem tiver alguma dica de como eu realizar esse processo de outra forma, alguma biblioteca que trabalha com conversão de Objeto para XML agradeço.

Pq não usa o JSON?

Vou dar uma pesquisada a respeito da biblioteca JSON, não tinha visto falar nela ainda, me deram a dica de usar KXML, vou ver qual será a melhor para meu aplicativo, desde já agradeço j0nny abrass, se alguem tiver mais alguma dica ficarei grato.

http://jira.codehaus.org/browse/XSTR-249

Sobre j2me, tenho pouca experiência mas para mobiles eu imagino que quanto mais leve for o formato, melhor, e JSON em certos casos é mais leve.

http://java.sun.com/developer/technicalArticles/javame/json-me/
http://jimmod.com/blog/2010/03/java-me-j2me-json-implementation-tutorialsample/

vlw ai pelo comentário, agradeço a atenção.
depois posto a solução.

Olá amigos, bem dei uma olhada no material e tentei implementar em meu projeto com o JSON, porém ao limpar e costruir o projeto foi apresentou o seguinte erro:

Error preverifying class net.sf.json.JSON
java/lang/NoClassDefFoundError: java/io/Serializable
D:\NetBeansProjects\VMovel\nbproject\build-impl.xml:461: Preverification failed with error code 1.

Algo como no exemplo com o XStream, porém o problema dessa vez é q o JSON precisa serializar os objetos que seram utilizados e em J2ME não existe a interface Serializable… Se falei besteira me corrijam. Alguem poderia me ajudar…

Pois é devido ao tempo, resolvi fazer o processo de envio e recebimento da aplicação J2ME para à aplicação J2EE na mão mesmo contatenando Strings usando caracteres de identificação para atributos e objetos:

1,Maria,23#2,João,11 ("#" para identificar o final de atributos para o primeiro objeto) e assim por diante é bem chato mais resolveu.

Desde já agradeço aos comentários no tópico sucesso a todos

Até que enfm parou de inventar moda…este é o método preferível de se fazer pelas seguintes razões:

  • Funciona desde os dispostivos mais fracos em processamento até os parrudos com ótima performance

  • Pouco overhead com delimitadores = menos processamento no mobile. JSON,XML e o caramba a 4, implicam em mais processamento e mais consumo de bateria

  • Menos você paga para a operadora e menos consome do seu plano de dados

É até engraçado. Vejo tb gente falando em mobile chamando webservice e presa a conceitos de que webservice tem que usar SOAP, XML…hahaha…é de dar risada.

Aqui na empresa usamos o KXML, ele nao tem a facilidade do XStream mas ajuda. O WebService conversa com o mobile em formato xml e a aplicacao divide em varios objetos…

Por exemplo uma lista de clientes que o servidor retorne, tera varios nos no xml, cada no seria um cliente. Na aplicacao uso o KXML para entender o xml e criar um array de clientes com cada no do xml…

flw cara, abraco!
Se vc ja tiver solucionado o problema coloque “resolvido” no titulo…

" Menos você paga para a operadora e menos consome do seu plano de dados "
Acho que estamos falando de wireless, certo? Cliente <> WebServices…