Acquire lock on workflow

hi all, i have an external web  service call which allows only 1 session to be established at any one time. Workflow might call mutiple times, therefore i need something like a "Lock" to Acquired so that if there is a session established the other worflow will wait until the current one is completed. 

Does anyone have similar experience on how this can be done. thanks in advance. 

Cheers