Hi,

Seems this error is caused by the input message for cxf bc provider isn't the one what cxf bc provider expected.

Both cxf bc provider and consumer build servicemodel from wsdl, so the input message for those endpoints must exactly match the wsdl schema, you should be very careful when you do some transform to the onwire message.

Freeman
On 2010-6-19, at 上午8:23, ssheth wrote:


I am using ServiceMix 4.2.

I am using Service Adapter pattern to transform a SOAP request and namespace
before invoking the actual webservice.

Here are my components:
Client->CXFBC:Consumer->Camel Route to Transform the request and change the
namespace->CXBC Provider-> WebService

CXBC:Consumer is using slightly different wsdl with less number of elements
and uses a different namespace

My xslt file is transforming the request correctly including changing the name space before forwarding the jbi wrapped request to CXFBC provider. I
verified my XSLT using XML spy.

Here is the error I am getting:
Error processing exchange
org.apache.servicemix.jbi.runtime.impl.inouti...@a92a5
java.lang.NullPointerException
     at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java: 202)
     at
org .apache .servicemix .common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
     at
org .apache .servicemix .common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java: 581)
     at
org .apache .servicemix .common .AsyncBaseLifeCycle.processExchangeInTx(AsyncBaseLifeCycle.java:478)
     at
org.apache.servicemix.common.AsyncBaseLifeCycle $2.run(AsyncBaseLifeCycle.java:347)
     at
java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886)
     at
java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908)

16:54:00,524 | WARN | lidationService/ | PhaseInterceptorChain |
ache.cxf.common.logging.LogUtils  361 | Interceptor for
{http://ws.ais.ucla.edu}MyValidationService#{http:// ws.ais.ucla.edu/}Validate
has thrown exception, unwinding now

org.apache.servicemix.cxfbc.interceptors.JbiFault: Fault occured
        at
org.apache.servicemix.cxfbc.CxfBcConsumer $JbiPostInvokerInterceptor.handleMessage(CxfBcConsumer.java:830)
        at
org .apache .cxf .phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java: 243)
        at
org .apache .cxf .transport .ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
        at
org.apache.servicemix.cxfbc.CxfBcConsumer $JbiChainInitiationObserver.onMessage(CxfBcConsumer.java:678)
        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.HandlerList.handle(HandlerList.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 152)
        at org.mortbay.jetty.Server.handle(Server.java:322)
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:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at
org .mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 409)
        at
org.mortbay.thread.QueuedThreadPool $PoolThread.run(QueuedThreadPool.java:582)
--
View this message in context: 
http://servicemix.396122.n5.nabble.com/Namespace-Transformation-tp510191p510191.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to