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.