Wilma
Wilma copied to clipboard
CustomXQueryBodyChecker may cause exception
V1.1.21, This exception happened once, need to investigate, as Wilma should handle this without any problem
1:08:44.746 [SeleniumProxyHandler$SslRelay5-0] ERROR com.epam.wilma.router.RoutingService - Error during condition evaluation in the dialog descriptor 'dialog-descriptor-xxxxx'!
com.epam.wilma.stubconfig.domain.exception.ConditionEvaluationFailedException: XQuery evaluation failed:
at com.epam.wilma.stubconfig.condition.checker.xml.CustomXQueryBodyChecker.checkCondition(CustomXQueryBodyChecker.java:67) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.ConditionEvaluator.evaluate(ConditionEvaluator.java:58) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.ConditionEvaluator.evaluateAndCondition(ConditionEvaluator.java:67) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.ConditionEvaluator.evaluate(ConditionEvaluator.java:48) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.StubDescriptorEvaluator.evaluateCondition(StubDescriptorEvaluator.java:106) [wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.StubDescriptorEvaluator.evaluateDialogDescriptor(StubDescriptorEvaluator.java:95) [wilma-1.1.22.jar:na]
at com.epam.wilma.router.evaluation.StubDescriptorEvaluator.findResponseDescriptor(StubDescriptorEvaluator.java:79) [wilma-1.1.22.jar:na]
at com.epam.wilma.router.RoutingService.redirectRequestToStub(RoutingService.java:70) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.router.Router.reroute(Router.java:57) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.core.processor.entity.RouterProcessor.process(RouterProcessor.java:52) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.core.processor.request.WilmaHttpRequestProcessor.processRequest(WilmaHttpRequestProcessor.java:55) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.browsermob.interceptor.BrowserMobRequestInterceptor.process(BrowserMobRequestInterceptor.java:58) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.http.BrowserMobHttpClient.execute(BrowserMobHttpClient.java:465) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.http.BrowserMobHttpRequest.execute(BrowserMobHttpRequest.java:158) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.BrowserMobProxyHandler.proxyPlainTextRequest(BrowserMobProxyHandler.java:296) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.selenium.SeleniumProxyHandler.handle(SeleniumProxyHandler.java:185) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpContext.handle(HttpContext.java:1509) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpContext.handle(HttpContext.java:1461) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpServer.service(HttpServer.java:892) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpConnection.service(HttpConnection.java:815) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handleNext(HttpConnection.java:981) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handle(HttpConnection.java:832) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.http.SocketListener.handleConnection(SocketListener.java:245) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.util.ThreadedServer.handle(ThreadedServer.java:357) ~[wilma-1.1.22.jar:na]
at net.lightbody.bmp.proxy.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534) ~[wilma-1.1.22.jar:na]
Caused by: net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
at net.sf.saxon.s9api.DocumentBuilder.build(DocumentBuilder.java:374) ~[wilma-1.1.22.jar:na]
at net.sf.saxon.s9api.XQueryEvaluator.setSource(XQueryEvaluator.java:132) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.stubconfig.condition.checker.xml.helper.XQueryExpressionEvaluator.evaluateXQuery(XQueryExpressionEvaluator.java:78) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.stubconfig.condition.checker.xml.CustomXQueryBodyChecker.evaluateCondition(CustomXQueryBodyChecker.java:78) ~[wilma-1.1.22.jar:na]
at com.epam.wilma.stubconfig.condition.checker.xml.CustomXQueryBodyChecker.checkCondition(CustomXQueryBodyChecker.java:65) ~[wilma-1.1.22.jar:na]
... 24 common frames omitted
Caused by: net.sf.saxon.trans.XPathException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:460) ~[wilma-1.1.22.jar:na]
at net.sf.saxon.event.Sender.send(Sender.java:145) ~[wilma-1.1.22.jar:na]
at net.sf.saxon.Configuration.buildDocument(Configuration.java:3442) ~[wilma-1.1.22.jar:na]
at net.sf.saxon.s9api.DocumentBuilder.build(DocumentBuilder.java:371) ~[wilma-1.1.22.jar:na]
... 28 common frames omitted
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1388) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1018) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210) ~[na:1.7.0_25]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568) ~[na:1.7.0_25]
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:440) ~[wilma-1.1.22.jar:na]
... 31 common frames omitted
the condition is in question:
<condition class="CustomXQueryBodyChecker" negate="false">
<param name="xquery" value="(count(//*[local-name()='SomeRequest' and namespace-uri()='urn:company:xy:xxxx:yyyy:v1'][1])=1)"/>
</condition>
Not bug, expected behavior, as the request was malformed and condition checker cannot evaluate it. Wilma response is the right expected result.
Enhancement possibility: give more info on the problematic request, like the ID of the message.