Is there any way to directly query the block chain for the body of a transaction given its hash? Blockchain.info provides this functionality in a simple API like so:

https://blockchain.info/rawtx/fc15f762e8dbbdd407534047ef2a9211ca0e79c3625d5fe73cdacade4f9118d6

However, I would prefer to make this query directly against the network blockchain rather than to a third party like blockchain.info.
You can use JSON-RPC to achieve this. The only missing information will be the relayed_by field.

To use the JSON-RPC API of your client edit your bitcoin.conf file like this

rpcuser=user 
rpcpassword=password 
rpcport=8332
server=1


Then you can use a library to query the API like JSON-RPC for PHP

You can also do it on a much easier way by using the command line

./bitcoind getblock c15f762e8dbbdd407534047ef2a9211ca0e79c3625d5fe73cdacade4f9118d6