powered by Jive Software

How do I parse IQ packets?

I made a custom IQ child class inorder to send an IQ type that Smack doesn’'t support. However, when the server returns its result, I get an IQ packet in return, but it contains none of the actually query return data. How can I get this?

Hey David,

I would say that your IQProvider is not being used so an anonymous IQ subclass is being returned instead. Check the Provider Architecture[/url] documentation to learn how to register your provider so that customer IQ packets are correctly parsed.


– Gato

Yeah, I eventually worked this out. The biggest trouble ended up being registering the IQProvider. I couldn’‘t ever get the META-INF/smack.providers thing to work, so I simply called the ProviderManager directly. No offense to the author’'s of Smack, but the API seems in places to be a little over-complicated. In many cases, if I could just get a DOM node out of a packet, everything would be good.