Add request timeout and XML response parsing