Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.2.2
-
None
Description
smx-saxon xquery endpoint throws classcastexception handling MessageExchange sent by smx-drools. The stacktrace is listed below. A test case demonstrating the problem is attached.
FYI, if an endpoint is inserted in between the smx-drools and smx-saxon endpoints, the problem disappears.
BTW, the stacktrace below is using smx-3.3.1.6-fuse.
00:17:23,101 | ERROR | pool-flow.seda.servicemix-saxon-thread-1 | SaxonComponent | ervicemix.common.BaseLifeCycle 48 | Error processing exchange InOut[
id: ID:10.10.10.10-11c831ea4cf-6:0
status: Active
role: provider
service:
droolsSaxonTest.xqueryPipeline_Transformer_v_0
endpoint: droolsSaxonTest.xqueryPipeline_Transformer_v_0
in: <?xml version="1.0" encoding="UTF-8"?><video id="647599251">
<studio/>
<director>Francesco Rosi</director>
<actorRef>916503211</actorRef>
<actorRef>916503212</actorRef>
<title>Carmen</title>
<dvd>18</dvd>
<laserdisk/>
<laserdisk_stock/>
<genre>musical</genre>
<rating>PG</rating>
<runtime>125</runtime>
<user_rating>4</user_rating>
<summary>A fine screen adaptation of Bizet's
popular opera. </summary>
<details>Placido Domingo does it again, this time
in Bizet's popular opera.</details>
<vhs>15</vhs>
<beta_stock/>
<year>1984</year>
<vhs_stock>88</vhs_stock>
<dvd_stock>22</dvd_stock>
<beta/>
</video>
out: null
]
java.lang.ClassCastException: net.sf.saxon.tinytree.TinyElementImpl
at net.sf.saxon.Configuration.buildDocument(Configuration.java:2239)
at net.sf.saxon.query.StaticQueryContext.buildDocument(StaticQueryContext.java:426)
at org.apache.servicemix.saxon.XQueryEndpoint.queryContent(XQueryEndpoint.java:126)
at org.apache.servicemix.saxon.XQueryEndpoint.transform(XQueryEndpoint.java:119)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
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)
00:17:24,182 | ERROR | pool-component.servicemix-file-thread-3 | FileComponent | icemix.file.FilePollerEndpoint 346 | Failed to process file: tmp\in\video.xml. Reason: java.lang.ClassCastException: net.sf.saxon.tinytree.TinyElementImpl
java.lang.ClassCastException: net.sf.saxon.tinytree.TinyElementImpl
at net.sf.saxon.Configuration.buildDocument(Configuration.java:2239)
at net.sf.saxon.query.StaticQueryContext.buildDocument(StaticQueryContext.java:426)
at org.apache.servicemix.saxon.XQueryEndpoint.queryContent(XQueryEndpoint.java:126)
at org.apache.servicemix.saxon.XQueryEndpoint.transform(XQueryEndpoint.java:119)
at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:220)
at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
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)