Way back in the mists of time what the default binding used to do was trap any "target not found" type exceptions and re-resolve the endpoint in that case. Worked OK, easy to do and doesn't lead to a resolution on each call.
If you catch the exception, set the EndpointReference status back to EndpointReference.WIRED_TARGET_NOT_FOUND and then call EndpointReferenceBuilderImpl.runtimeBuild(). If the result of that is an endpoint reference in EndpointReference.WIRED_TARGET_FOUND_AND_MATCHED status then retry the call. If not then throw a runtime exception. That should do the trick. Simon
