Freeman,
   Thanks a lot .  Adding the attribute  useJBIWrapper="false"  worked well 
That fixed the ClassCastException. But I end up with the below exeception.
   It is saying - WARNING: Request does not contain required Security header
   But I am passing the  Security header( SOAP header)
   Interestingly ,  when I ran the same test case on web service using CXF2.1 
frame work it working fine.And shown the header as below. But the same test 
case is failing with ServiceMix-CXF.
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
<soap:Header>
<wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext
-1.0.xsd" soap:mustUnderstand="1"><wsse:UsernameToken 
xmlns:wsu="http://docs.oasis-open.org/wss/2004
/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="UsernameToken-12437939"><wsse:Username>arse
nal</wsse:Username><wsse:Password 
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-user
name-token-profile-1.0#PasswordDigest">gAY3BTnmwpYPu/4rXMZOnkYrKuU=</wsse:Password><wsse:Nonce>rkwj3
8v5w+d0nWJF6bp2ZQ==</wsse:Nonce><wsu:Created>2008-08-25T22:08:54.312Z</wsu:Created></wsse:UsernameTo
ken></wsse:Security></soap:Header>
   
    Please see below the error traces. Please let me know what I am missing.
   Thanks a lot for you help in this issue.
Thanks
Babu.
Aug 25, 2008 6:12:54 PM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor 
handleMessage
WARNING: Request does not contain required Security header
Aug 25, 2008 6:12:54 PM org.apache.cxf.ws..security.wss4j.WSS4JInInterceptor 
handleMessage
WARNING:
org.apache.ws..security.WSSecurityException: An error was discovered processing 
the <wsse:Security> h
eader.
        at 
org.apache.cxf.ws.security..wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java
:167)
        at 
org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java
:62)
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain..java:221)
        at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:7
7)
        at 
org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156)


----- Original Message ----
From: Freeman Fang <[EMAIL PROTECTED]>
To: [email protected]
Sent: Sunday, August 24, 2008 9:37:14 PM
Subject: Re: ServiceMix-3.2.1 - SAAJInInterceptor failing with 
ClassCastException

Hi,

The SAAJInInterceptor need handle the soap message, but by default cxf 
bc and se will use jbi message, that's why you see the exception
java.lang.ClassCastException: org..apache.cxf.binding.jbi.JBIMessage
        at 
org.apache.cxf.binding.soap.saaj.SAAJInInterceptor..handleMessage(SAAJInInterceptor.java:6

You need add useJBIWrapper="false" attribute for both your cxf bc and 
cxf se endpoints to enable soap message  in cxf bc & se, this feature is 
only in servicemix 3.2.2.

Regards
Freeman

Jack Jack wrote:
> Hi,
>  I am using ServiceMix-3.2.1 on Tomcat-5.5.  I configured the CXFBC-Consumer 
>and CXFSE endpoints in servicemix.xml .In this light-weight mode confifuration 
>everything is working fine.Tested with a web service client and the web 
>service is working well.
> Now I added the InInterceptor to the Web service implementaion class using 
> the annotation type configuration as below.
> @org.apache.cxf.interceptor.InInterceptors (interceptors = 
> {"org.circuit.security.wss.WSSecurityInterceptor" }) 
> When I started the server and executed the test case, I found the below error 
> traces on Tomcat console.
> I have started a thread with 3.2.2 version also for the same Exception . But 
> the scenarios are different.
> In case 3.2.1, web serviceis working fine before I introduce the Interceptor.
>  Thanks a lot for your help in advance.
> Best Regards
> Babu
> Please see the Tomcat console traces below:
>
> C:\software\apache-tomcat-5.5.26\bin>catalina.bat run
> Using CATALINA_BASE:  C:\software\apache-tomcat-5.5.26
> Using CATALINA_HOME:  C:\software\apache-tomcat-5.5.26
> Using CATALINA_TMPDIR: C:\software\apache-tomcat-5.5.26\temp
> Using JRE_HOME:        C:\software\jdk1.5.0_12
> Aug 24, 2008 7:44:33 PM org..apache.catalina.core.AprLifecycleListener 
> lifecycleEvent
> INFO: The Apache Tomcat Native library which allows optimal performance in 
> production environments w
> as not found on the java.library.path: 
> C:\software\jdk1.5.0_12\bin;.;C:\WINNT\system32;C:\WINNT;C:\o
> racle\ora90\bin;C:\Program 
> Files\Oracle\jre\1.1.8\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\W
> bem;C:\Program 
> Files\PKWARE\pkzipc;C:\Perforce;C:\swutilities\ssh;C:\software\apache-maven-2.0.9\bin
> ;C:\software\Java\jre1.5.0_12\bin;C:\oracle\ora90\bin;C:\Program 
> Files\Oracle\jre\1.1.8\bin;C:\WINNT
> \system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program 
> Files\PKWARE\pkzipc;C:\Perforce
> Aug 24, 2008 7:44:33 PM org.apache.coyote.http11.Http11BaseProtocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8080
> Aug 24, 2008 7:44:33 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 640 ms
> Aug 24, 2008 7:44:33 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Aug 24, 2008 7:44:33 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/5.5.26
> Aug 24, 2008 7:44:33 PM org.apache.catalina.core.StandardHost start
> INFO: XML validation disabled
> Aug 24, 2008 7:44:34 PM org.apache.catalina.loader.WebappClassLoader 
> validateJarFile
> INFO: 
> validateJarFile(C:\software\apache-tomcat-5.5.26\webapps\servicemix-web-3.2.1\WEB-INF\lib\gero
> nimo-servlet_2.5_spec-1.1-M1.jar) - jar not loaded. See Servlet Spec 2.3, 
> section 9.7.2. Offending c
> lass: javax/servlet/Servlet.class
> Aug 24, 2008 7:44:34 PM org.apache.catalina.loader.WebappClassLoader 
> validateJarFile
> INFO: 
> validateJarFile(C:\software\apache-tomcat-5.5.26\webapps\servicemix-web-3.2.1\WEB-INF\lib\serv
> let-api-2.5-6.1.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. 
> Offending class: javax
> /servlet/Servlet.class
> INFO  - JBIContainer                  - ServiceMix 3.2.1 JBI Container 
> (ServiceMix) is starting
> INFO  - JBIContainer                  - For help or more informations please 
> see: http://incubator.
> apache.org/servicemix/
> INFO  - ComponentMBeanImpl            - Initializing component: 
> #SubscriptionManager#
> INFO  - DeploymentService              - Restoring service assemblies
> INFO  - ComponentMBeanImpl            - Initializing component: 
> ID:10.124.56.132-11bf71adef1-0:0
> INFO  - ComponentMBeanImpl            - Initializing component: 
> ID:10.124.56.132-11bf71adef1-0:1
> WARN  - ClientFactory                  - Cound not start ClientFactory: 
> javax.naming.NamingException
> : Context is read only
> Aug 24, 2008 7:44:39 PM sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: Logging to org.slf4j.impl.JDK14LoggerAdapter(org.mortbay.log) via 
> org.mortbay.log.Slf4jLog
> Aug 24, 2008 7:44:39 PM sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: jetty-6.1.5
> Aug 24, 2008 7:44:39 PM sun.reflect.NativeMethodAccessorImpl invoke0
> INFO: Started [EMAIL PROTECTED]:8085
> Aug 24, 2008 7:44:39 PM 
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFrom
> Class
> INFO: Creating Service {http://view.org/wsShop/Circuit}Circuit from class 
> org.view.wsShop
> .circuit.CircuitImpl
> Aug 24, 2008 7:44:40 PM org.apache.cxf.configuration.spring.ConfigurerImpl 
> getBeanName
> INFO: Could not determine bean name for instance of class 
> org.apache.cxf.transport.jbi.JBIDestinatio
> n.
> INFO  - JBIContainer                  - ServiceMix JBI Container (ServiceMix) 
> started
> Aug 24, 2008 7:44:40 PM org.apache.coyote.http11.Http11BaseProtocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
> Aug 24, 2008 7:44:41 PM org.apache.jk.common.ChannelSocket init
> INFO: JK: ajp13 listening on /0.0.0.0:8009
> Aug 24, 2008 7:44:41 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/15  config=null
> Aug 24, 2008 7:44:41 PM org.apache.catalina.storeconfig.StoreLoader load
> INFO: Find registry server-registry..xml at classpath resource
> Aug 24, 2008 7:44:41 PM org.apache.catalina.startup.Catalina start
> INFO: Server startup in 7797 ms
> Aug 24, 2008 7:44:54 PM org.apache.cxf.transport.jbi.JBITransportFactory 
> setDeliveryChannel
> INFO: configuring DeliveryChannel:      [EMAIL PROTECTED]
> WSSecurityInterceptor:handleMessage()>>> *********  Invoked.. Start
> WSSecurityInterceptor:handleMessage()>>> *********  END........
> Aug 24, 2008 7:44:54 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> java.lang.ClassCastException: org.apache.cxf.binding.jbi.JBIMessage
>        at 
>org.apache.cxf.binding.soap.saaj.SAAJInInterceptor..handleMessage(SAAJInInterceptor.java:6
> 3)
>        at 
>org..apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>        at 
>org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:7
> 3)
>        at 
>org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:148)
>        at 
>org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:187)
>        at 
>org...apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>        at 
>org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> 90)
>        at 
>org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle..java:46)
>        at 
>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> l.java:610)
>        at 
>org.apache.servicemix.jbi.nmr.flow.AbstractFlow..doRouting(AbstractFlow.java:170)
>        at 
>org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>        at 
>org.apache..servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>        at 
>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>        at 
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>        at java.lang.Thread.run(Thread.java:595)
> Aug 24, 2008 7:44:54 PM 
> org.apache.cxf.transport.jbi.JBIDestinationOutputStream commitOutputMessage
> SEVERE: error sending Out message
> java.lang.ClassCastException: java.lang.ClassCastException
>        at 
>org.apache.cxf.transport.jbi.JBIDestinationOutputStream.commitOutputMessage(JBIDestinatio
> nOutputStream.java:89)
>        at 
>org.apache.cxf.transport.jbi.JBIDestinationOutputStream.doClose(JBIDestinationOutputStrea
> m.java:62)
>        at 
>org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:119)
>        at 
>org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>        at 
>org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handle
> Message(MessageSenderInterceptor.java:62)
>        at 
>org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>        at 
>org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultCha
> inInitiatorObserver.java:90)
>        at 
>org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:224)
>        at 
>org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:7
> 3)
>        at 
>org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:148)
>        at 
>org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:187)
>        at 
>org..apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
>        at 
>org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> 90)
>        at 
>org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>        at 
>org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> l.java:610)
>        at 
>org.apache.servicemix.jbi.nmr.flow.AbstractFlow..doRouting(AbstractFlow.java:170)
>        at 
>org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>        at 
>org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>        at 
>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>        at 
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>        at java.lang.Thread.run(Thread.java:595)
> Aug 24, 2008 7:45:04 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault
>        at 
>org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcCo
> nsumer.java:454)
>        at 
>org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>        at 
>org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:184)
>        at 
>org.apache.servicemix.cxfbc..CxfBcConsumer.process(CxfBcConsumer.java:183)
>        at 
>org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsum
> er.java:430)
>        at 
>org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>        at 
>org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:7
> 3)
>        at 
>org.apache.cxf.transport..http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestinat
> ion.java:268)
>        at 
>org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.j
> ava:224)
>        at 
>org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
>        at 
>org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
>        at 
>org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:2
> 11)
>        at 
>org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>        at org.mortbay.jetty.Server..handle(Server.java:313)
>        at 
>org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
>        at 
>org.mortbay.jetty.HttpConnection$RequestHandler..content(HttpConnection.java:844)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:726)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
>        at 
>org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
>        at 
>org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
>
>
>
>      
>  


      

Reply via email to