You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by ssheth <ss...@ais.ucla.edu> on 2010/06/19 02:23:54 UTC
Namespace Transformation
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.InOutImpl@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.
Re: Namespace Transformation
Posted by Freeman Fang <fr...@gmail.com>.
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.InOutImpl@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