Hi,
Because a lot of soap headers only applicable between two direct
endpoint, such as ws-security/ws-addressing headers, so unless those
soap headers defined in the wsdl as a part of the method invocation
parameter, by default it would be dropped from cxfbc consumer to
provider.
However, we save the soap headers in NormalizedMessage, hence you can
write your own interceptor for cxf bc provider to set headers as you
want, the code to retrieve soap headers from NormalizedMessage should
be like
Map<String, Object> headers =
normalizedMessage.getProperty(CxfJbiConstants.PROTOCOL_HEADERS)
// here headers is a header namespace /object map
Freeman
On 2012-3-1, at 下午9:30, Radomir Kadlec wrote:
Hello,
how can I *forward all incomming soap headers* to the destination
service?
I use *cxfbc:consumer* as incomming endpoint and c*xfbc:producer* as
destination endpoint.
The service client sends soap headers and Servicemix has to forward
all them
throught the NMR to the producer and then to the destination business
service.
I used own interceptor in the USER_PROTOCOL phase to check the
content of
the message in debug mode.
Interceptor in the cxfbc:consumer shows SoapHeader in the message,
but this
header will not be forwarded to the producer. Why?
I tried then to change the direction of the SoapHeader to INOUT:
header.setDirection(Direction.DIRECTION_INOUT);
but it didn't help.
ServiceMix version: apache-servicemix-4.4.1-fuse-01-06
Endpoints are deployed as osgi bundles.
Thanks,
Radomir
--
View this message in context:
http://servicemix.396122.n5.nabble.com/How-to-forward-soap-headers-tp5527861p5527861.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
---------------------------------------------
Freeman Fang
FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com