Download Word - WSO2

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
[ESBJAVA-1135] [XSLT Mediator] - Cannot determine actual XSLT fault by
looking at the stacktrace Created: 20/Jun/12 Updated: 04/Jun/13 Resolved: 04/Jun/13
Status:
Project:
Component/s:
Affects
Version/s:
Fix Version/s:
Resolved
WSO2 ESB
Mediators
4.5.0
Type:
Reporter:
Resolution:
Labels:
Remaining
Estimate:
Time Spent:
Original
Estimate:
Environment:
Bug
Evanthika Amarasiri
Fixed
None
Not Specified
4.7.0
Priority:
Assignee:
Votes:
Normal
Miyuru Wanninayaka
0
Not Specified
Not Specified
Operating System : Linux 2.6.38-8-generic, amd64
Java Version : 1.7.0
Java VM : Java HotSpot(TM) 64-Bit Server VM 21.0-b17,Oracle
Corporation
Packs : Beta packs wso2esb-4.0.0-SNAPSHOT - 14th June 2012
DBMS : Embedded H2
Browser : Firefox 10.0.2
Major
Severity:
Moderate
Estimated
Complexity:
Test cases added: Yes
Description
When there are XSLT errors, such as syntax errors, namespace mismatches, <xsl:template match="/"> mismatch
of the actual reason without just printing the following for any type of XSLT failure?
******************************************************************************************
[2012-06-20 10:51:24,600] DEBUG - XSLTMediator Transformation completed - processing result
[2012-06-20 10:51:24,601] ERROR - XSLTMediator Unable to perform XSLT transformation using : Value
{name ='null', keyValue ='transform_CheckPriceRequest.xslt'} against source XPath : s11:Body/child::[position
org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [2,0]
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
at org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)
at org.apache.synapse.util.jaxp.StreamResultBuilder.getNode(StreamResultBuilder.java:87)
at org.apache.synapse.mediators.transform.XSLTMediator.performXSLT(XSLTMediator.java:298)
at org.apache.synapse.mediators.transform.XSLTMediator.mediate(XSLTMediator.java:191)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:55)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:170)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:188
at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172
at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:409)
at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:261)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [2,0]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686)
at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
... 23 more
[2012-06-20 10:51:24,604] WARN - SynapseMessageReceiver Executing fault handler due to exception encoun
[2012-06-20 10:51:24,605] WARN - FaultHandler ERROR_CODE : 0
[2012-06-20 10:51:24,606] WARN - FaultHandler ERROR_MESSAGE : Unable to perform XSLT transformat
against source XPath : s11:Body/child::[position()=1] | s12:Body/child::[position()=1]
[2012-06-20 10:51:24,606] WARN - FaultHandler ERROR_DETAIL : org.apache.synapse.SynapseException: U
{name ='null', keyValue ='transform_CheckPriceRequest.xslt'} against source XPath : s11:Body/child::[position
at org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:293)
at org.apache.synapse.mediators.transform.XSLTMediator.mediate(XSLTMediator.java:194)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:55)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:170)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:60)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:188
at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172
at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:409)
at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:261)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in pro
at [row,col {unknown-source}]: [2,0]
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
at org.apache.axiom.om.impl.llom.OMDocumentImpl.getOMDocumentElement(OMDocumentImpl.java:109)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:570)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.getDocumentElement(StAXOMBuilder.java:566)
at org.apache.synapse.util.jaxp.StreamResultBuilder.getNode(StreamResultBuilder.java:87)
at org.apache.synapse.mediators.transform.XSLTMediator.performXSLT(XSLTMediator.java:298)
at org.apache.synapse.mediators.transform.XSLTMediator.mediate(XSLTMediator.java:191)
... 17 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [2,0]
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686)
at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2134)
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2040)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
at org.apache.axiom.util.stax.wrapper.XMLStreamReaderWrapper.next(XMLStreamReaderWrapper.java:225)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
... 23 more
[2012-06-20 10:51:24,606] WARN - FaultHandler ERROR_EXCEPTION : org.apache.synapse.SynapseExcept
against source XPath : s11:Body/child::[position()=1] | s12:Body/child::[position()=1]
[2012-06-20 10:51:24,607] WARN - FaultHandler FaultHandler : org.apache.synapse.mediators.MediatorFaultH
[2012-06-20 10:51:24,607] WARN - MediatorFaultHandler Executing fault handler mediator : fault
Even with a fault mediator you still get the exception as "Unable to perform XSLT transformation using : Value
{name ='null', keyValue ='transform_CheckPriceRequest.xslt'}
against source XPath : s11:Body/child::[position()=1] | s12:Body/child::[position()=1]"
Comments
Comment by Miyuru Wanninayaka [ 04/Jun/13 ]
Main contributor for this issue is JDK behavior when doing XSLT processing which we cannot
change. If template/namespace is not matching in xslt with request message, xslt will not
actually fail but outputs a string as a result output. So error happens when synapse tries to parse
that result to XML. I have added "Unable to create an OMElement using XSLT result" error log
in such situation to help finding root cause. However there is no way to throw something like
"wrong xsl template" kind of error because java XSLT engine does not provide such kind of
error handling in XSLT.
If XSLT is malformed, XSLT mediator will thow a error like "Unexpected close tag
</xsl:template>; expected </a>." so it will be find error in XSLT
Generated at Thu Jun 08 11:04:31 IST 2017 using JIRA 7.2.2#72004sha1:9d5132893cc8c728a3601a9034a1f8547ef5c7be.
Related documents