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