This issue fixed when I changed the JNDI lookup as (UserTransaction) ctx.lookup("java:jboss/UserTransaction");
The standard JNDI lookup name is java:comp/UserTransaction, and when using @Resource injection you don't need to define any annotation elements, i.e.
@Resource private UserTransaction ut;
should work fine.
I am using WildFly 8.2 and didn't chnaged anything regarding UserTransaction. When I checked the JNDI view, it is shown as java:jboss/UserTransaction.