Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CustomXQueryBodyChecker may cause exception #42

Open
tkohegyi opened this issue May 12, 2015 · 1 comment
Open

CustomXQueryBodyChecker may cause exception #42

tkohegyi opened this issue May 12, 2015 · 1 comment

Comments

@tkohegyi
Copy link
Contributor

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>
@tkohegyi
Copy link
Contributor Author

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.

tkohegyi added a commit that referenced this issue May 13, 2015
…back (connected to #3)

- implement error log enhancement to address #42, message id is added to such error message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant