Use boost asio socket operations instead of gsoap.
Lookup a probe matches by the socket timeout.