Well, I think you could model it with an event. After the process reached a wait state, you can have a catching event node, so when you get the response from the external service, you can make a session.signalEvent("theevent", eventData) and update the process variables you need inside the process.
Anyway, it would be good to know a bit more about your business requirement in order to give a good advice.
Regards,
Demian