You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Rafal Janik <ra...@softwaremind.pl> on 2010/07/27 12:09:58 UTC

mustUnderstand=true attribute passed through camel problem

Hi All

I have a problem with sending the signed message wit security header


... <s:Header><o:Security 
xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
s:mustUnderstand="1"> ...

through my camel route. The soap is just passed throw the flow.
The camel route starts with cxf endpoint, the soap has 
mustUnderstand="1" and in the end of route I get

11:51:43,825 | WARN  | PhaseInterceptorChain            | Interceptor 
for 
{http://soap.camel.swmind.pl/}SOAPMessageProviderService#{http://soap.camel.swmind.pl/}invoke 
has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: MustUnderstand headers: 
[{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] 
are not understood.
         at 
org.apache.cxf.binding.soap.interceptor.MustUnderstandInterceptor$UltimateReceiverMustUnderstandInterceptor.handleMessage(MustUnderstandInterceptor.java:221)
         at 
org.apache.cxf.binding.soap.interceptor.MustUnderstandInterceptor$UltimateReceiverMustUnderstandInterceptor.handleMessage(MustUnderstandInterceptor.java:195)
         at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
         at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
         at 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
         at 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
         at 
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
         at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
         at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
         at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
         at org.mortbay.jetty.Server.handle(Server.java:326)
         at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
         at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
         at 
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
         at 
org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:680)
         at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)



My camelContext:

<camelContext id="camle-soap-private" 
xmlns="http://camel.apache.org/schema/spring">
<route id="private-route">

<from uri="cxf:bean:soapMessageEndpoint" />

<bean ref="soapMesssageToStream" id="Bean_1" />

<setHeader headerName="CamelHttpMethod" id="SetHeader_1">
<constant>POST</constant>
</setHeader>

<process ref="streamToSoapMessage" id="Process_1">
</process>

<to uri="log:pl.swmind.camel.soap" />
</route>

</camelContext>

Using Camel 2.2.x.


Is there something I can do  to avoid it?



regards

rafal