Executing a Database Operation that previously succeeded, I am now getting the attached stack trace.The Database Service is trying to append results as XML into an existing XML message part. There doesn't seem to be anything wrong with the query, message input or Database Operation config.
I cannot see where the referenced style sheet exists in the install, perhaps it is dynamically generated. Any quick fixes would be appreciated.
I have also attached the Workbench project. The failing process is ProcessBid/ProcessBid.esbp
Regards,
Dave
<?xml version="1.0"?>
<SOAP-ENV:Envelope SOAP-ENC:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:rpc="http://www.sonicsw.com/sonicxq/rpc">
<SOAP-ENV:Body>
<xq:rejectedMessageInfo xmlns:xq="http://www.sonicsw.com/sonicxq">
<rejectedCode>XQ_SERVICE_EXCEPTION</rejectedCode>
<rejectedLocation container="dev_ESBCore" host="NBBEDDHENTCHE" process="ProcessBid" serviceApplication="dev.DBService" step="GetQuote" topLevelProcess="ProcessBid"/>
<rejectedDetails>com.sonicsw.esb.service.rdbms.DatabaseServiceException: Service call failed.
at com.sonicsw.esb.service.rdbms.DatabaseService.serviceConnection(DatabaseService.java:816)
at com.sonicsw.esb.service.rdbms.DatabaseService.service(DatabaseService.java:707)
at com.sonicsw.xqimpl.service.debug.DebugServiceInterceptor.intercept(DebugServiceInterceptor.java:118)
at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.intercept(XQServiceChain.java:481)
at com.sonicsw.xqimpl.service.XQServiceChain$XQInterceptorServiceWrapper.service(XQServiceChain.java:470)
at com.sonicsw.xqimpl.service.XQServiceChain.service(XQServiceChain.java:151)
at com.sonicsw.xqimpl.service.ServiceMessageHandler.callService(ServiceMessageHandler.java:429)
at com.sonicsw.xqimpl.service.ServiceMessageHandler.handleMessage(ServiceMessageHandler.java:190)
at com.sonicsw.xqimpl.service.ProcessMessageHandler.doHandleMessage(ProcessMessageHandler.java:317)
at com.sonicsw.xqimpl.service.ProcessMessageHandler.handleMessage(ProcessMessageHandler.java:94)
at com.sonicsw.xqimpl.service.XQDispatcher.onMessage(XQDispatcher.java:422)
at com.sonicsw.xqimpl.endpoint.container.EndpointContextContainer.onMessage(EndpointContextContainer.java:90)
at com.sonicsw.xq.connector.jms.JMSEndpoint$JMSEndpointListener.onMessage(JMSEndpoint.java:575)
at progress.message.jimpl.Session.deliver(Session.java:3006)
at progress.message.jimpl.Session.run(Session.java:2397)
at progress.message.jimpl.Session$SessionThread.run(Session.java:2782)
Caused by: com.sonicsw.xq.XQMessageException: (Failed to compile stylesheet. 1 error detected.) (Failed to compile stylesheet. 1 error detected.)
at com.sonicsw.xqimpl.script.InsertionRules$InsertLastChildRule.insert(InsertionRules.java:556)
at com.sonicsw.xqimpl.script.InsertionRules.insertVariables(InsertionRules.java:90)
at com.sonicsw.xqimpl.script.Command.insertVariables(Command.java:557)
at com.sonicsw.xqimpl.script.Command.execute(Command.java:281)
at com.sonicsw.xqimpl.script.ScriptEngine.executeCommand(ScriptEngine.java:66)
at com.sonicsw.esb.service.rdbms.DatabaseService.serviceConnection(DatabaseService.java:771)
... 15 more
Caused by: javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet. 1 error detected.
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:153)
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:137)
at net.sf.saxon.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:88)
at com.sonicsw.xqimpl.util.xml.XMLUtils.computeXSLT(XMLUtils.java:285)
at com.sonicsw.xqimpl.script.InsertionHelper.doTransform(InsertionHelper.java:310)
at com.sonicsw.xqimpl.script.InsertionHelper.insertLastChild(InsertionHelper.java:149)
at com.sonicsw.xqimpl.script.InsertionRules$InsertLastChildRule.insert(InsertionRules.java:542)
... 20 more
</rejectedDetails>
</xq:rejectedMessageInfo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
When you do an "Insert into XML", the internal code is using Saxon for this, and generating a stylesheet on the fly for the insertion. (i.e. there is no 'real' stylesheet in sonicfs).
Probably the issue here is that the insertion path is not pointing to an existing node.