Great Thanks for your help,Freeman Fang!
I got my problem resolved and had a deeper understanding for
cxf's PHASE.
Are you chinese? :)
Freeman Fang wrote:
>
> Sorry, use Phase.POST_INVOKE for cxf bc consumer inInterceptor.
> In this phase, the jbi MessageExchange get back to cxf bc consumer(the
> flow is cxf bc consumer==>servicemix-camel==>cxf bc
> provider==>external server===>back to==>cxf bc provider==>servicemix-
> camel===>cxf bc consumer), so I believe it's suitable for your
> requirement.
>
> Freeman
> On 2009-8-12, at 下午6:08, inter wrote:
>
>>
>>
>> Does an out interceptor have PHASE.POST_INVOKE?
>>
>> Freeman Fang wrote:
>>>
>>> You should use cxf consumer out interceptor or cxf provider out
>>> interceptor
>>> Freeman
>>> On 2009-8-12, at 下午4:11, inter wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> I tried a provide-IN-interceptor, and get MessageExchange in both
>>>> ways:
>>>> "message.getContent(MessageExchange.class)"
>>>> "message.get(MessageExchange.class)"
>>>>
>>>> both of them returned null
>>>>
>>>> Freeman Fang wrote:
>>>>>
>>>>> Use Phase.POST_INVOKE should work
>>>>>
>>>>> Freeman
>>>>>>
>>>>>> Should i try to get it with a cxf-provider-in-interceptor?
>>>>>> In which phase should i di it?
>>>>>>
>>>>>> Freeman Fang wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 2009-8-11, at 下午5:51, inter wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Does it only contain soapheaders?
>>>>>>>> I have considered it containing http heades at least.
>>>>>>>> Then how can i get client's ip and access uri in a camel
>>>>>>>> processor?
>>>>>>>> I just want to record a client's in-time and out-time and it's
>>>>>>>> ip
>>>>>>>> address.
>>>>>>>> I know I can do that with a cxf in-interceptor and a out-
>>>>>>>> interceptor,but I
>>>>>>>> have no way to ensure the both records were generated by the
>>>>>>>> same
>>>>>>>> request.
>>>>>>>> In camel-processor,i can use the exchange id to match them,but I
>>>>>>>> can't get
>>>>>>>> the ip and request uri.
>>>>>>> Using In/Out cxf interceptors you also can use
>>>>>>> MessageExchange .getExchangeId() to match them,
>>>>>>>
>>>>>>> from the cxf message in the interceptors, do like
>>>>>>> MessageExchange exchange = message
>>>>>>> .getContent(MessageExchange.class);
>>>>>>>
>>>>>>> to get MessageExchage
>>>>>>>
>>>>>>> Freeman
>>>>>>>
>>>>>>>> Freeman,would you like to give me some ideas?
>>>>>>>>
>>>>>>>>
>>>>>>>> Freeman Fang wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> That's because there's no soap headers in your message at all
>>>>>>>>> per
>>>>>>>>> your
>>>>>>>>> wsdl model
>>>>>>>>>
>>>>>>>>> Freeman
>>>>>>>>> On 2009-8-11, at 下午3:23, inter wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I debug it in eclipse and found that:
>>>>>>>>>>
>>>>>>>>>> the "javax.jbi.messaging.protocol.headers" property was set in
>>>>>>>>>> org.apache.servicemix.cxfbc.interceptors.JbiInInterceptor
>>>>>>>>>>
>>>>>>>>>> normalizedMessage
>>>>>>>>>> .setProperty(CxfJbiConstants.PROTOCOL_HEADERS,
>>>>>>>>>> headers);
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> heards is empty,which is from message.getHeaders
>>>>>>>>>>
>>>>>>>>>> public List<Header> getHeaders() {
>>>>>>>>>> List<Header> heads =
>>>>>>>>>> CastUtils.cast((List<?>)get(Header.HEADER_LIST));
>>>>>>>>>> if (heads == null) {
>>>>>>>>>> heads = new ArrayList<Header>();
>>>>>>>>>> put(Header.HEADER_LIST, heads);
>>>>>>>>>> }
>>>>>>>>>> return heads;
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> it is empty,too. It's strange.
>>>>>>>>>> --
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24912928.html
>>>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>>>> Nabble.com.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Freeman Fang
>>>>>>>>> ------------------------
>>>>>>>>> Open Source SOA: http://fusesource.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> View this message in context:
>>>>>>>> http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24914659.html
>>>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Freeman Fang
>>>>>>> ------------------------
>>>>>>> Open Source SOA: http://fusesource.com
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24931315.html
>>>>>> Sent from the ServiceMix - User mailing list archive at
>>>>>> Nabble.com.
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Freeman Fang
>>>>> ------------------------
>>>>> Open Source SOA: http://fusesource.com
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24931670.html
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>> --
>>> Freeman Fang
>>> ------------------------
>>> Open Source SOA: http://fusesource.com
>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24932649.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>
>
> --
> Freeman Fang
> ------------------------
> Open Source SOA: http://fusesource.com
>
>
>
--
View this message in context:
http://www.nabble.com/When-JBiMsg-sent-from-cxf-bc-to-camel%2Cjavax.jbi.messaging.protocol.headers-was-lost.-tp24912015p24935472.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.