Due to the fact that the client code does not have the notion of a destination with which it can set the replyTo in a single method call two calls are required:
Must both be set.
However the client attempts to retrieve the existing ReplyTo to update with either the new ExchangeName or RoutingKey and attempting to create the BindingURL with a null value (as this is a new message) it throws the exception seen in
Simply ignoring the null value is not sufficient as after updating the ExchangeName or RoutingKey in the empty BindingURL it attempts to validate it which as it is only partially complete fails.
We need to think what we want to do here. Perhaps looking at the new 0-10 client to see what it does in this space.