Thanks for the reply. But I do have an issue. Actually I am supposed to
capture the SOAP XML request and it seems that the request that I capture is
NOT really a SOAP request.

Hence , it seems that there is a major change in the Interceptors that I am
using. I guess I should be using SOAP interceptors... Can I know which
interceptor should I be using and more importantly how do I get SOAP REQUEST
/ RESPONSE XML message instead of a jbi message ?

Is this how I should be defining my XBean ? 

 <cxfse:endpoint  useJBIWrapper="false"  >
        <cxfse:pojo>
          <bean class="com.powercatalyst.ods.osl.pricedata.OdsPriceDataImpl"
/>
        </cxfse:pojo>
       : :

I need to be able to retrieve the request XML from the SOAP Interceptor. I
would appreciate if that is also stated to me.

Thanks and regards,
Milan







Freeman Fang wrote:
> 
> comment inline
> 
> doshi_milan wrote:
>> 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 ?
>>
>>   
> If you want to see the outbound message of cxf se endpoint, you should 
> write an interceptor with phase like PRE_STREAM, the 
> LoggingOutInterceptor should be exactly same as your scenario, take a 
> look at class.
>> 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>
>>   
> You need configure outInterceptors here, not 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-tp20466758p20491593.html
Sent from the ServiceMix - Dev mailing list archive at Nabble.com.

Reply via email to