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

Reply via email to