Hi,
You need specify useJBIWrapper="false" for both your cxf bc and se to
enable soap message pass into your cxf se.
Freeman
doshi_milan wrote:
One important info. I have my Interceptors in cxf se. IS that an issue ? I
mean, is it prohibiting me from capturing SOAP messages ?
doshi_milan wrote:
I guess I may have mixed up too many things in the same posting chain
above. Let me try to put it this way.The flow is very much what you have
put forth .
Client <=> cxf bc <=> cxf se .
I just want to capture the request / response XML for :
All requests that have failed (for any reasons (application or system
exceptions)). The idea is to divert the failed requests to another
application.
Thus with this in mind, all I want to achieve is capture the ORIGINAL SOAP
request (and also the response XML as it will have the error details).
Summing up whatever I have already done :
1. I have a user defined Interceptor that extends from
org.apache.cxf.interceptor.LoggingOutInterceptor.
2. I override the handleMessage(org.apache.cxf.message.Message message)
method.
3. I invoke this interceptor ONLY in case of error's fault. (I.e I
achieve this by the following entry within my xbean.xml)
<cxfse:inFaultInterceptors>
<bean
class="com.powercatalyst.ods.osl.interceptor.OdsFaultInterceptor"/>
</cxfse:inFaultInterceptors>
What I have achieved :
I am able to capture the request that is jbi based.
What I really want to capture is a SOAP request.
1. Do I need to make any change in xbean.xml to use any of the
SOAPInterceptor ?
2. Which interceptor should I use ?
3. When I did try some, it gave me an error saying JBIMessage cannot be
converted to SOAP etc
I hope this gives more insight to my issue. Thanks for your time and help!
Regards,
Milan
Freeman Fang wrote:
Hi Milan,
I'm not sure I follow your question.
Would you please describe more details about your scenario?
Some thing like your work flow, e.g.
external client <=(1)==> cxf bc <==(2)==> cxf se,
and at which point you want to dump your soap message? The incoming
message or /outgoing message?
Since the answer could be different depends on what's your real question
is.
Freeman
doshi_milan wrote:
Well, first of all thanks for the reply.... Not sure if I interpret your
answer.
I mean, even I know that a SOAP Interceptor is required.
So, my question is :
1. Do I need to make any change in xbean.xml to sue any of the
SOAPInterceptor ?
2. Which interceptor should I use ?
3. When I did try some, it gave me an error saying JBIMessage cannot be
converted to SOAP etc
4. How do I actually 'Retrieve' XML data from the SOAP env? I mean the
code.
Your elaborate answer will help me a lot!
Thanks,
Milan
Freeman Fang wrote:
Hi,
The message inside servicemix container is JBI style message, which
means the message with JBI wrapper.
If you want to capture the soap xml request, you need add similar
interceptors for cxf bc endpoint.
Freeman
doshi_milan wrote:
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