Hi,

What's the servicemix-camel component version you are using? Could you use the latest version?
Freeman
On 2010-3-24, at 下午3:56, slew77 wrote:


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.



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to