You can see Time dependent collect pattern to set time out and using control step to throw exception after the time reaches the setting limit.Please refer basis repository objects where you see this pattern.
BTW, when you use webservice as receiver, your response should be in synchronous isn't it? Why do you want to wait for longer time? You can see failed message status in SXMB_MONI (after timeout ) if you use without bpm too...