Thanks for the reply.Actually  I was able to retreieve atleast the Request
XML.

I, now, have a class  DHCLOutInterceptor extends
org.apache.cxf.interceptor.LoggingOutInterceptor  .I override the 
handleMessage(org.apache.cxf.message.Message message)  method as follows :

 public void handleMessage(org.apache.cxf.message.Message message)  {
        
                MessageExchange exchange =
message.get(javax.jbi.messaging.MessageExchange.class);         
                NormalizedMessage nm = exchange.getMessage("out");
                Source content = nm.getContent();
                try {
                        String body = (new 
SourceTransformer()).toString(content);
                        System.out.println("ODSLogOutInterceptor:handleMessage: 
body:\n"+body);
                } catch (TransformerException e) {
                        ::
                }

        Strangely, although I have configured it as an OUTBOUND intrerafce I AM
NOT ABLE TO access the response XML. The NormalizedMessage object continues
to be null. <br/> If I make it 'in' instead of 'out' I am able to get the
entire request XML (which is very good).However what do I do to get the
outbound response XML? Can someone please explain me what am I missing ?

The bean.xml looks like this :

  <cxfse:endpoint >
        <cxfse:pojo>
                <bean class="com.company.ods.osl.mydata.OdsPriceDataImpl" />
        </cxfse:pojo>    
                
        <cxfse:inFaultInterceptors> 
                <bean class="com.company.ods.osl.mydata.ODSFaultInterceptor"/>
        </cxfse:inFaultInterceptors>
        <cxfse:outFaultInterceptors>
                <bean class="com.company.ods.osl.mydata.ODSFaultInterceptor"/>
        </cxfse:outFaultInterceptors>

Thanks for any feedback!

Milan

Freeman Fang wrote:
> 
> doshi_milan wrote:
>> I am using CXF within Servicemix. 
>>
>> I want to know how would I be able to intercept XML request / response
>> within my code ? I have  created a user defined interceptor which extends
>> from  org.apache.cxf.interceptor.LoggingInInterceptor and similarly
>> another
>> use defined Intercepor which extends from
>> org.apache.cxf.interceptor.LoggingOutInterceptor. I have this in the
>> xbean.xml file as follows :
>>
>>
>>   
> I can't see your xbean.xml content here, :-)
>>         
>>           
>>         
>>         
>>                      
>>              
>>              
>>                      
>>              
>>              
>>              
>> I am able to override the handleMessage method. I know that
>> LoggingInInterceptor can directly log the XML but what I want is to
>> retrieve
>> certain values etc within the interceptor. Thus for now, I want to see
>> how
>> can I retrieve the ENTIRE message within the interceptor. This should be
>> very easy as the logging method probably does it but it is not available
>> to
>> us. I failed to get any sample or documentation. I do not even know if 
>> LoggingInInterceptor /LoggingOutInterceptor are thr right interceptors to
>> be
>> used.
>>   
> The LoggingInInterceptor should be what you want, you mean you can't 
> find the source code of LoggingIn/OutInterceptor? They are in cxf code 
> base, and you can find those from
> http://svn.apache.org/repos/asf/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/
>> Any help will be much appreciated.
>>
>> Thanks!
>> Milan Doshi
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Retrieving-SOAP-Header-and-SOAP-Body-using-Interceptors-tp20466758p20475400.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.

Reply via email to