In AbstractFeature.initialize methods, unlike the "initialize server"
counterpart, the initialize method for client is not passing
client.getEndpoint() to the initializeProvider() method.
public abstract class AbstractFeature {
public void initialize(Server server, Bus bus) {
initializeProvider(server.getEndpoint(), bus);
}
public void initialize(Client client, Bus bus) {
initializeProvider(client, bus);
}
As a result, adding InFault interceptors to the (client) provider
inside the initializeProvider() method does not really end up putting
them in the fault interceptor chain since the
InFaultChainInitiatorObserver.initializeInterceptors() method only
looks for inFault interceptors in the following places.
protected void initializeInterceptors(Exchange ex,
PhaseInterceptorChain chain) {
Endpoint e = ex.get(Endpoint.class);
chain.add(e.getInFaultInterceptors());
chain.add(e.getBinding().getInFaultInterceptors());
chain.add(e.getService().getInFaultInterceptors());
chain.add(getBus().getInFaultInterceptors());
}
I can enter a Jira.
Thanks,
William