These MAY be a bug in the ServiceMix bc. Basically, it looks like it's on the fault chain, but there isn't an Exception/Fault in the message which is a bit strange.
In anycase, I'll add an NPE guard in the interceptors to prevent this for future versions. Dan On Mon December 7 2009 8:26:26 am [email protected] wrote: > Hi ! > > I use servicemix ESB (apache-servicemix-3.3.1.20-fuse) and cxf-bc > component. > > Use of cxf 2.2.5 jar causes a NULL Pointer Exception during the execution > of my application not with 2.1.8. > However, the NPE does not appear to affect the smooth running of the > application. > > I post logs with exception and my CXF-BC xbean config. > > Hoping that this will be useful, > Thanks. > > Logs > ---- > > ID: 1 > Address: http://myHost:8080/alfresco/api/ArchivageDossier > Encoding: UTF-8 > Content-Type: text/xml > Headers: {Accept=[*/*], SOAPAction=[""]} > 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"><wsu:Timestamp xmlns:wsu > ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utilit > y-1.0.xsd" wsu:Id > ="Timestamp-2"><wsu:Created>2009-12-07T13:12:21.006Z</wsu:Created><wsu:Expi > res>2009-12-07T13:17:21.006Z</wsu:Expires></wsu:Timestamp><wsse:UsernameTok > en xmlns:wsse > ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext > -1.0.xsd" xmlns:wsu > ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utilit > y-1.0.xsd" wsu:Id > ="UsernameToken-1"><wsse:Username>myUser</wsse:Username><wsse:Password Type > ="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-pr > ofile-1.0#PasswordText">TICKET_aaaaaaaaaaaaaaaaaaaaaaaa</wsse:Password></ws > se:UsernameToken></wsse:Security></soap:Header><soap:Body><urn:archiverDoss > ier xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn > ="urn:webservices.alfresco.etnic.be" soapenv:encodingStyle > ="http://schemas.xmlsoap.org/soap/encoding/"> > <in0 xmlns:soapenc > ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi > ="http://www.w3.org/2001/XMLSchema-instance" xsi:type > ="soapenc:string">?</in0> > </urn:archiverDossier></soap:Body></soap:Envelope> > -------------------------------------- > WARN - PhaseInterceptorChain - Interceptor has thrown exception, > unwinding now > java.lang.NullPointerException > at > org.apache.cxf.ws.policy.AbstractPolicyInterceptor.getBindingFaultInfo(Abst > ractPolicyInterceptor.java:71) at > org.apache.cxf.ws.policy.PolicyVerificationInFaultInterceptor.handle(Policy > VerificationInFaultInterceptor.java:95) at > org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPo > licyInterceptor.java:45) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai > n.java:236) at > org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcPro > viderMessageObserver.java:125) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > eInternal(HTTPConduit.java:2177) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons > e(HTTPConduit.java:2057) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon > duit.java:1982) at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputSt > ream.java:47) at > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188) > at > org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:230) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycl > e.java:540) at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLi > feCycle.java:492) at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle. > java:46) at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(Deli > veryChannelImpl.java:623) at > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java > :183) at > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:16 > 7) at > org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.j > ava:650) at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: > 675) at java.lang.Thread.run(Thread.java:595) > > > CXF-BC - xbean config > --------------------- > > <cxfbc:provider > wsdl="http://myHost/alfresco/api/ArchivageDossier?wsdl" > > locationURI="http://myHost:8080/alfresco/api/ArchivageDossier" > > service="ged:ArchivageDossierService" endpoint="ArchivageDossier" > useJBIWrapper="false" useSOAPEnvelope="true"> > > <cxfbc:outInterceptors> > <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> > <ref bean="saajout" /> > <ref bean="TimestampUserNameToken_Request" /> > <ref bean="GedInterceptor" /> > </cxfbc:outInterceptors> > > <cxfbc:outFaultInterceptors> > <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" /> > </cxfbc:outFaultInterceptors> > </cxfbc:provider> > > <bean id="myPasswordCallback" class > ="be.etnic.janus.work.ged.GedCallBackHandler"> > <constructor-arg index="0" value="ged_ticket_space" /> > </bean> > > <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor" > id="TimestampUserNameToken_Request"> > <constructor-arg> > <map> > <entry key="action" value="UsernameToken Timestamp" /> > <entry key="passwordType" value="PasswordText" /> > <entry key="user" value="" /> > <entry key="passwordCallbackRef"> > <ref bean="myPasswordCallback" /> > </entry> > </map> > </constructor-arg> > </bean> > > <bean class="be.etnic.janus.work.ged.GedSecurityInterceptor" id > ="GedInterceptor" /> > > <bean class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" > id="saajout" /> > > </beans> > -- Daniel Kulp [email protected] http://www.dankulp.com/blog
