I found out what I was doing wrong. I am able to get the transaction manager and user transactions to work fine in JBoss. My screw up was with "Service Tasks". I was getting process instance ids mixed up with work item ids. I learned there are 2 ids involved when correctly identifying a workitem to complete when the completion is outside of the listener's callback (a long running task). The session id, and the work item id.