If you use different databases, you SHOULD use JTA with XA-transactions. if you don't, the transactions won't be synchronized.
In your case, you call your services from within activiti. When activiti executes the process, it creates a new (activiti) transaction. The process reaches the user-task and does a service-call to your code. This service-call creates a new transaction, does the call, closes the transaction/session and returns the entity to activiti. Activiti uses the objects and uses some fields which are marked as lazy-loaded. Since your service-call-transaction is closed, the missing referenced entities cannot be fetched and you get an exeption.
To fix this, you can either:
1) Use XA-transactions IF writes to your service should be in-sync with writes to activiti
2) If you only read your own service-DB, you should make sure your service returned fully usable objects (with all needed referenced entities eagerly fetched before the method returns the result).