Hi Jorge, I had a similar requirement and here is what i did to overcome the issue.
I appended the complex XML element to Current payload using a combination of Property mediator (To wrap the complex XML Element with a known Root element) and enriched the current payload using Enrich Mediator (Append the complex XML element wrapped with the known Root element as an immediate child under SOAPDody). Inside my XSLT i process the proper payload and extract the complex XML element using the known Root element i used to wrap it. This is the workaround I used. Hope this helps! Thanks and Regards, Harshana On Sun, 12 Feb 2017 at 2:53 pm, Jorge <[email protected]> wrote: > Hi all, > any workaround for this bug: > > https://wso2.org/jira/si/jira.issueviews:issue-html/ESBJAVA-4509/ESBJAVA-4509.html > > I need to pass 2 complex XML as parameters to a xslt in ESB 5.0.0 with > this error: > > [2017-02-11 20:56:29,320] ERROR - XSLTMediator Unable to perform XSLT > transformation using : Value {name ='null', keyValue > ='transformTwoSourcesToOneResult'} against source XPath : s11 > :Body/child::*[position()=1] | s12:Body/child::*[position()=1] reason > : Error performing XSLT transformation using : Value {name ='null', > keyValue ='transformTwoSourcesToOneResult'} > org.apache.synapse.SynapseException: Error performing XSLT > transformation using : Value {name ='null', keyValue > ='transformTwoSourcesToOneResult'} > at > org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:367) > at > org.apache.synapse.mediators.transform.XSLTMediator.performXSLT(XSLTMediator.java:372) > at > org.apache.synapse.mediators.transform.XSLTMediator.mediate(XSLTMediator.java:202) > at > org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) > at > org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:260) > at > org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:766) > at > org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:282) > at > org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554) > at > org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) > at > org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261) > at > org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: net.sf.saxon.trans.XPathException: Required item type of > first operand of '/' is node(); supplied value has item type xs:string > at > net.sf.saxon.expr.ItemTypeCheckingFunction.testConformance(ItemTypeCheckingFunction.java:65) > at > net.sf.saxon.expr.ItemTypeCheckingFunction.mapItem(ItemTypeCheckingFunction.java:41) > at > net.sf.saxon.expr.ItemMappingIterator.next(ItemMappingIterator.java:90) > at > net.sf.saxon.expr.ContextMappingIterator.next(ContextMappingIterator.java:52) > at > net.sf.saxon.value.SequenceExtent.<init>(SequenceExtent.java:105) > at > net.sf.saxon.expr.sort.DocumentOrderIterator.<init>(DocumentOrderIterator.java:31) > at > net.sf.saxon.expr.sort.DocumentSorter.iterate(DocumentSorter.java:101) > at > net.sf.saxon.expr.SlashExpression.iterate(SlashExpression.java:700) > at > net.sf.saxon.expr.sort.DocumentSorter.iterate(DocumentSorter.java:101) > at > net.sf.saxon.expr.SlashExpression.iterate(SlashExpression.java:700) > at > net.sf.saxon.expr.sort.DocumentSorter.iterate(DocumentSorter.java:101) > at > net.sf.saxon.expr.instruct.ForEach.processLeavingTail(ForEach.java:414) > at > net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:131) > at > net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:301) > at > net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:254) > at > net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:212) > at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1034) > at > net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:58) > at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1022) > at net.sf.saxon.Controller.transformDocument(Controller.java:1957) > at net.sf.saxon.Controller.transform(Controller.java:1803) > at > org.apache.synapse.mediators.transform.XSLTMediator.performXSLT(XSLTMediator.java:300) > ... 13 more > > Regards, > Jorge > _______________________________________________ > Dev mailing list > [email protected] > http://wso2.org/cgi-bin/mailman/listinfo/dev > -- Sent from Gmail Mobile for IPhone
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
