Hmmm...so many issues with the code snippet you posted, hard to know where to start.
Using the WMQInitialContectFactory does not seem like the place to start with MQ. It adds a layer of complexity you probably don't want at this stage. I'd suggest using Sun's fscontext and keep the managed objects in a local file. The initial context you are using is primarily used to make a shared JNDI repository for many users or applications, however it's not supported. My issue with it is that the program first has to connect to the queue manager in order to get a connection factory which...tells the program how to connect to the QMgr!
All those objects named SYSTEM.DEF.* or SYSTEM.AUTO.* should never be used for actual connections. They are templates that new objects inherit from. If they are useable you can't secure them or any objects created from them.
Either the snippet is incomplete or you are confusing the connection factory with the queue object. The post says you want the TESTOUT queue but the code has only a queue connection factory and no destination or queue object.
If you've installed WMQ server or client locally, you already have a bunch of good samples. The default location for these is C:\Program Files\IBM\WebSphere MQ\tools\jms\samples and they include both pub/sub and point-to-point examples. If you want an example that demonstrates creating the .bindings file, check out the article and sample code here: http://www.ibm.com/developerworks/websphere/techjournal/0610_woolf/0610_woolf.html The article explains some of the issues I just mentioned with the channels, client security, etc.