Using the current 3.2 branch, I have hot deployed the cxf-wsdl-first sample. In 
a separate flow, I have a file:poller -> eip:pipeline(transformer = 
cxfbc:provider) -> file:sender. My input file for this flow contains:

<jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"; 
version="1.0">
<jbi:part>
<tns:GetPerson 
xmlns:tns="http://servicemix.apache.org/samples/wsdl-first/types";>
      <tns:personId>world</tns:personId>
</tns:GetPerson>
</jbi:part>
</jbi:message>

When this flow is processed, the cxfbc:provider throws the following NPE:

May 14, 2008 1:59:44 AM org.apache.cxf.transport.jbi.JBITransportFactory 
setDeliveryChannel
INFO: configuring DeliveryChannel:      [EMAIL PROTECTED]
May 14, 2008 1:59:45 AM org.apache.cxf.transport.jbi.JBITransportFactory 
setDeliveryChannel
INFO: configuring DeliveryChannel:      [EMAIL PROTECTED]
java.lang.NullPointerException
        at 
java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:157)
        at 
java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:730)
        at 
org.apache.cxf.service.model.BindingInfo.getOperation(BindingInfo.java:126)
        at 
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:93)
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1988)
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824)
        at 
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:201)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at 
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at 
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at 
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at 
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        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)

The problem is that the CxfBcProviderMessageObserver's messageExchange has a 
null operation. On the cxfbc:provider, how is the operation supposed to be set? 
I do not see it as a configurable property on the cxfbc:provider.

Thanks in advance for your assistance.

- Ron

Reply via email to