I think the solution is quite correct for the serviceId unmatched issue. But if Bevis introduce a different error code in this case, maybe we could remove the checking below.