Hi Freeman,

Thanks for taking the time to look at this.

I don't see any related properties in camel.  Here's a couple of traces from
the log file produced by the camel su:

This following trace is produced from: 

.to("log:ShowHeadersAndProperties?showBody=false&showHeaders=true&showProperties=true")

07:45:08,258 | INFO  | pool-flow.seda.servicemix-camel-thread-13 |
ShowHeadersAndProperties                           |
org.apache.camel.processor.Logger                    88 |
Exchange[Properties:{CamelToEndpoint=log://ShowHeadersAndProperties?showBody=false&showHeaders=true&showProperties=true,
JbiMessageExchange=InOut[
  id: ID:172.17.133.204-1278cf07b53-4:4
  status: Active
  role: provider
  service: {urn:mig}ConsumerAdapter.Toolkit.Discharge
  endpoint: Router
  operation:
{http://www.nhs.cfh.org/interoperability.toolkit/DischargeSummary/1.0}SendDischargeSummary
  in: <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body>...
],
JbiOperation={http://www.nhs.cfh.org/interoperability.toolkit/DischargeSummary/1.0}SendDischargeSummary},
Headers:{}, BodyType:javax.xml.transform.dom.DOMSource]

The next trace is produced from:
        logger.debug("Properties are: " +
exchange.getProperty("javax.jbi.messaging.protocol.headers"));

07:45:08,258 | DEBUG | pool-flow.seda.servicemix-camel-thread-13 |
MiGConsumerAdapterRouteBuilder                     |
toolkit.discharge.MiGConsumerAdapterRouteBuilder$1   52 | Properties are:
null

And finally the next trace from:
        logger.debug("Headers are: " +
exchange.getIn().getHeader("javax.jbi.messaging.protocol.headers"));

07:45:08,258 | DEBUG | pool-flow.seda.servicemix-camel-thread-13 |
MiGConsumerAdapterRouteBuilder                     |
toolkit.discharge.MiGConsumerAdapterRouteBuilder$1   53 | Headers are: null

If I set an interceptor in CXF I can see the header properties from:
        ContextUtils.retrieveMAPs(message, false, false);

Thanks for any advice,
Steve.


Freeman Fang wrote:
> 
> Hi,
> 
> We already copy headers from cxf message to nmr message of smx-cxf-bc,  
> and also copy headers from nmr message to camel message of smx-camel.  
> So I believe it works.
> How did you try to extract the headers?
> 
> You should use key "javax.xml.ws.addressing.context.inbound" to get  
> wsa related properties, the result object is a Map.
> And use key "javax.jbi.messaging.protocol.headers" to get other  
> properties, the result object is a Map.
> 
> Freeman
> 
> On 2010-3-24, at 上午12:30, slew77 wrote:
> 
>>
>> Hi,
>>
>> I have the following setup running in ServiceMix routing SOAP  
>> messages:
>>
>> CXFBC --> CAMEL --> CXFBC
>>
>> When a message is received, I need to be able to use the SOAP header
>> properties, e.g. wsa:MessageID, within the Camel route.
>>
>> The CXF BC Consumer is set with:
>>                  useJBIWrapper="false"
>>                  useSOAPEnvelope="true"
>>
>> But the Header is missing from the SOAP Envelope when the exchange  
>> reaches
>> the Camel module.
>>
>> I've tried setting up an interceptor to explicitely set properties  
>> on the
>> CXF exchange and message, but am not sure how or if these are mapped.
>>
>> I'm using servicemix-cxf-bc-2010.01-SNAPSHOT-installer.zip built on 21
>> March.
>>
>> Any help is appreciated.
>>
>> Thanks,
>> Steve.
>>
>> -- 
>> View this message in context:
>> http://old.nabble.com/Passing-SOAP-Headers---CXFBC--%3E-CAMEL-tp28003448p28003448.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://old.nabble.com/Passing-SOAP-Headers---CXFBC--%3E-CAMEL-tp28003448p28011664.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to