The questions I have are:
1. Is it correct to prefer the soap:address from the wsdl?
2. Should wsa:To ever be used as physical address?
<wsa:To> is supposed to be used for routing, so since we aren't acting as a router I don't think we need to look at it. If we are acting as a router then the method for mapping the logical to physical locations is not part of WSA, and is implementation specific.
Although there is Microsoft a microsoft spec out there for mapping them (WS-Referral):
A good, yet old article that talks about wsa:to is here:
I think Jason is right. It's solely used as routing information and therefore it must not be used as the physical address of the target endpoint. I.e. WS-Eventing makes use of this behaviour. We can ignore it, but the addressing handlers need to supply the wsa:To defaults if it's not set.
There's actually one case i can think of, when we need to act upon wsa:To addresses, which is stateful messaging using SFSB as web service implementations.