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

Reply via email to