One thing to notice about MDB(s): they were not designed to be accessed via remote interfaces by the end-user. This is the reason why MDB(s) don�t have home or remote interfaces, etc. A MDB acts like a JMS message listeners and allows to J2EE applications to process messages asynchronously (this being actually the reason why they were introduced in J2EE 2.0). Looking at your code I understand that you actually try to get a reference to a topic or a queue, in order to send a JMS message, which makes a lot of sense. As for the problem you have I would suggest you to check the next link: http://www.jguru.com/forums/view.jsp?EID=1157688 I hope this will help. Regards.