Kra eu tive uma situação dessa e resolvi com o CBQ, eu fiz ate um esqueminha pra facilita a implementação e disponibilizei pra download:

http://www.tftecnologia.com.br/downloads/cbq.zip