No, as it's always the client init the request so the message go through client out interceptor first. ------------- Freeman(Yue) Fang
Red Hat, Inc. FuseSource is now part of Red Hat Web: http://fusesource.com | http://www.redhat.com/ Twitter: freemanfang Blog: http://freemanfang.blogspot.com http://blog.sina.com.cn/u/1473905042 weibo: @Freeman小屋 On 2013-10-10, at 下午7:28, Brady Adams wrote: > Hi Freeman Fang, > > Thank you so much for your reply. If that is the case do the Scenario #1 > exists? > > Thanks, > > Brady... > > > On 10 October 2013 19:22, Freeman Fang <freeman.f...@gmail.com> wrote: > >> Hi, >> >> Scenario #2 is how the message flow works >> ------------- >> Freeman(Yue) Fang >> >> Red Hat, Inc. >> FuseSource is now part of Red Hat >> Web: http://fusesource.com | http://www.redhat.com/ >> Twitter: freemanfang >> Blog: http://freemanfang.blogspot.com >> http://blog.sina.com.cn/u/1473905042 >> weibo: @Freeman小屋 >> >> >> >> On 2013-10-10, at 下午7:05, Brady Adams wrote: >> >>> Hi Freeman Fang, >>> >>> Thank you so much for your help and time for dropping this email in >> between >>> your other commitments. I am trying the same way... but my doubt was how >>> the flow is... I hope the first one is the right and is there the second >>> scenario do exists, in case if it exists in what case it is... >>> >>> Scenario # 1 >>> >>> 1. Service In Interceptor to >>> 2. Client Out Interceptor to >>> 3. Client In Interceptor to >>> 4. Service Out Interceptor >>> >>> or >>> >>> Scenario # 2 >>> >>> 1. Client Out Interceptor to >>> 2. Service In Interceptor to >>> 3. Service Out Interceptor to >>> 4. Client In Interceptor >>> >>> Thanks you once again for your help. >>> >>> Brady... >>> >>> >>> On 10 October 2013 16:45, Freeman Fang <freeman.f...@gmail.com> wrote: >>> >>>> Hi, >>>> >>>> Please take a look at the faq here[1], that tell you how can you add a >>>> customer soap header >>>> >>>> [1] >>>> >> http://cxf.apache.org/faq.html#FAQ-HowcanIaddsoapheaderstotherequest%2Fresponse%3F >>>> ------------- >>>> Freeman(Yue) Fang >>>> >>>> Red Hat, Inc. >>>> FuseSource is now part of Red Hat >>>> Web: http://fusesource.com | http://www.redhat.com/ >>>> Twitter: freemanfang >>>> Blog: http://freemanfang.blogspot.com >>>> http://blog.sina.com.cn/u/1473905042 >>>> weibo: @Freeman小屋 >>>> >>>> >>>> >>>> On 2013-10-9, at 下午5:46, Brady Adams wrote: >>>> >>>>> Hi Team, >>>>> >>>>> I am newbie to the Apache CXF. My requirement is to pass the Soap >> header >>>>> and need to add a custom HTTP Header. Please help me. >>>>> >>>>> As per my understanding first the Clients Out Interceptors sends the >> Out >>>>> Message and it is received by the Server In Interceptors and the same >> is >>>>> transported to the Service Out Interceptors and again to Client In >>>>> Interceptors. >>>>> >>>>> i.e. Client ----> Out to Server ----> IN and Server ----> Out >> to >>>>> Client ----> In >>>>> >>>>> Please correct me if I am wrong. >>>>> >>>>> So I have written a Client Out interceptor which extends >>>>> AbstractPhaseInterceptor<Message> with interceptor Phase.SETUP and the >>>> code >>>>> is as below, the MessageContext I am passing as a parameter in the >> Client >>>>> Implementation. As >>>> *ClientProxy.getClient(port).getOutInterceptors().add(new >>>>> ClientOutInterceptor(msgCntxt));* >>>>> >>>>> *public class ClientOutInterceptor extends >>>>> AbstractPhaseInterceptor<Message> { >>>>> >>>>> private static Logger LOG = >>>>> LoggerFactory.getLogger(ClientOutInterceptor.class); >>>>> >>>>> private MessageContext msgContext; >>>>> >>>>> public ClientOutInterceptor(MessageContext msgContext) { >>>>> super(Phase.SETUP); >>>>> this.msgContext = msgContext; >>>>> } >>>>> >>>>> @Override >>>>> public void handleMessage(Message message) throws Fault { >>>>> >>>>> List<Header> outHeaders = new ArrayList<Header>(); >>>>> List<SoapHeader> inHeaders = (ArrayList<SoapHeader>) >>>>> msgContext.get(IConstants.SOAP_HEADER); >>>>> for (Header header : inHeaders) { >>>>> outHeaders.add(new Header(header.getName(), >>>> header.getObject(), >>>>> header.getDataBinding())); >>>>> } >>>>> message.put(IConstants.SOAP_HEADER, outHeaders); >>>>> message.put(IConstants.ATTACHMENTS, >>>>> (Collection<Attachment>)msgContext.get(IConstants.ATTACHMENTS)); >>>>> } >>>>> }* >>>>> >>>>> And my Service In Interceptor is extending >>>>> AbstractPhaseInterceptor<Message> and the Interceptor Phase.RECEIVE and >>>> the >>>>> code is as below, >>>>> >>>>> *public class ServiceInInterceptor extends >>>>> AbstractPhaseInterceptor<Message> { >>>>> >>>>> private static Logger LOG = >>>>> LoggerFactory.getLogger(ServiceInInterceptor.class); >>>>> >>>>> public ServiceInInterceptor() { >>>>> super(Phase.RECEIVE); >>>>> } >>>>> >>>>> @Override >>>>> public void handleMessage(Message message) throws Fault { >>>>> >>>>> LOG.info(" ServiceInInterceptor >>>> "+message.get(IConstants.SOAP_HEADER)); >>>>> >>>>> } >>>>> }* >>>>> >>>>> and I have configured this in the service side xml >>>>> >>>>> *<cxf:bus> >>>>> <cxf:inInterceptors> >>>>> <ref bean="msgInInterceptor" /> >>>>> </cxf:inInterceptors> >>>>> </cxf:bus>* >>>>> >>>>> But here I am not getting the messages in the Service In Interceptor >> and >>>>> the same has to be transported to Service Out and to the Client In >>>>> Interceptors, please can anyone help me how to do this. It will be of >>>> great >>>>> help. We are in a very critical position to implement this. >>>>> >>>>> Please help me on this regard. >>>>> >>>>> Thanks in Advance, >>>>> >>>>> Brady... >>>> >>>> >> >>