message.getExchange().put(Endpoint.class, endpoint);
}
message = endpoint.getBinding().createMessage(message);
message.put(Message.REQUESTOR_ROLE, Boolean.TRUE);
message.put(Message.INBOUND_MESSAGE, Boolean.TRUE);
PhaseManager pm = bus.getExtension(PhaseManager.class);
List<Interceptor<? extends Message>> i1 = bus.getInInterceptors();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Interceptors contributed by bus: " + i1);
}
List<Interceptor<? extends Message>> i2 = getInInterceptors();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Interceptors contributed by client: " + i2);
}
List<Interceptor<? extends Message>> i3 = endpoint.getInInterceptors();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Interceptors contributed by endpoint: " + i3);
}
List<Interceptor<? extends Message>> i4 = endpoint.getBinding().getInInterceptors();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Interceptors contributed by binding: " + i4);
}
PhaseInterceptorChain chain;
if (endpoint.getService().getDataBinding() instanceof InterceptorProvider) {
InterceptorProvider p = (InterceptorProvider)endpoint.getService().getDataBinding();
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Interceptors contributed by databinging: " + p.getInInterceptors());
}
chain = inboundChainCache.get(pm.getInPhases(), i1, i2, i3, i4,
p.getInInterceptors());
} else {
chain = inboundChainCache.get(pm.getInPhases(), i1, i2, i3, i4);
}
message.setInterceptorChain(chain);
chain.setFaultObserver(outFaultObserver);
modifyChain(chain, message, true);