"TransformerException" while running CXF webservice in Fuse 6.3.0

Solution Verified - Updated -

Issue

  • We have an integration that provides a CXF endpoint using a WSDL and uses the dataformat as PAYLOAD but since attempting to upgrade to Fuse 6.3.0 - 187 it fails to parse any requests providing the following exception :
org.apache.cxf.interceptor.Fault: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@20d40a97 due javax.xml.transform.TransformerException: Can't transform a Source of type javax.xml.transform.stax.StAXSource
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.checkFailure(CxfConsumer.java:301)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.setResponseBack(CxfConsumer.java:275)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.asyncInvoke(CxfConsumer.java:169)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.invoke(CxfConsumer.java:133)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:278)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:254)[118:org.apache.cxf.cxf-rt-transports-http:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)[239:org.apache.cxf.cxf-rt-transports-http-jetty:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)[239:org.apache.cxf.cxf-rt-transports-http-jetty:3.1.5.redhat-630187]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:189)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.Server.handleAsync(Server.java:549)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[86:org.eclipse.jetty.io:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[96:org.eclipse.jetty.util:9.2.19.v20160908]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[96:org.eclipse.jetty.util:9.2.19.v20160908]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_144]
Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: java.lang.String with value org.apache.camel.component.cxf.CxfPayload@20d40a97 due javax.xml.transform.TransformerException: Can't transform a Source of type javax.xml.transform.stax.StAXSource
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.createTypeConversionException(BaseTypeConverterRegistry.java:629)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:150)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(OsgiTypeConverter.java:111)[234:org.apache.camel.camel-blueprint:2.17.0.redhat-630187]
        at org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:41)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.builder.ExpressionBuilder$64.evaluate(ExpressionBuilder.java:1533)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.LogProcessor.process(LogProcessor.java:53)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.asyncInvoke(CxfConsumer.java:154)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.camel.component.cxf.CxfConsumer$CxfConsumerInvoker.invoke(CxfConsumer.java:133)[241:org.apache.camel.camel-cxf:2.17.0.redhat-630187]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_144]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_144]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[74:org.apache.cxf.cxf-core:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:254)[118:org.apache.cxf.cxf-rt-transports-http:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)[239:org.apache.cxf.cxf-rt-transports-http-jetty:3.1.5.redhat-630187]
        at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)[239:org.apache.cxf.cxf-rt-transports-http-jetty:3.1.5.redhat-630187]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.Server.handle(Server.java:499)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[93:org.eclipse.jetty.server:9.2.19.v20160908]
        ... 5 more
Caused by: org.apache.camel.RuntimeCamelException: javax.xml.transform.TransformerException: Can't transform a Source of type javax.xml.transform.stax.StAXSource
        at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1690)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1285)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(InstanceMethodTypeConverter.java:78)
        at org.apache.camel.support.TypeConverterSupport.convertTo(TypeConverterSupport.java:39)
        at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:211)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_144]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_144]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_144]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_144]
        at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1281)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:62)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:346)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:133)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        ... 36 more
Caused by: javax.xml.transform.TransformerException: Can't transform a Source of type javax.xml.transform.stax.StAXSource
        at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:419)
        at org.apache.camel.converter.jaxp.XmlConverter.toResult(XmlConverter.java:132)
        at org.apache.camel.converter.jaxp.XmlConverter.toResult(XmlConverter.java:116)
        at org.apache.camel.converter.jaxp.XmlConverter.toString(XmlConverter.java:238)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_144]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_144]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_144]
        at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_144]
        at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1281)[232:org.apache.camel.camel-core:2.17.0.redhat-630187]
        ... 47 more
  • This integration was originally running fine in Fuse 6.2.1 - 159
  • Upgraded my dependencies from / to the following:
Fuse = '6.2.1.redhat-159' -> '6.3.0.redhat-187'
Camel = '2.15.1.redhat-621159' -> '2.17.0.redhat-630187'
CXF = '3.0.4.redhat-621159' -> '3.1.5.redhat-630187'

Environment

  • Red Hat JBoss Fuse
    • 6.3.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.