AnsweredAssumed Answered

TDM Excel Approach is not working in Devtest10.3 version

Question asked by skesamreddy on Mar 5, 2019
Latest reply on Mar 8, 2019 by jnesmith

Hi,

I am using LoadTDMDataStore step in VSM to read data from excel file and pass values in the response.

This feature is working fine in Devtest9.5 version, however, in devtest10.3, i am seeing below error in vse.log file.

 

javax.script.ScriptException: bsh.TargetError: Sourced file: inline evaluation of: ``//Assessor Scenario 1 import com.itko.tdm.framework.builder.query.*; import co . . . '' : Method Invocation DS_Name.query : at Line: 7 : in file: inline evaluation of: ``//Assessor Scenario 1 import com.itko.tdm.framework.builder.query.*; import co . . . '' : DS_Name .query ( testExec , "scenarioOne_New" , query )

Target exception: java.lang.NoSuchMethodError: org.apache.poi.POIXMLDocument.hasOOXMLHeader(Ljava/io/InputStream;)Z
in inline evaluation of: ``//Assessor Scenario 1 import com.itko.tdm.framework.builder.query.*; import co . . . '' at line number 7
at bsh.BshScriptEngine.evalSource(BshScriptEngine.java:97)
at bsh.BshScriptEngine.eval(BshScriptEngine.java:61)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at com.itko.lisa.test.ScriptExecHandler.executeScript(ScriptExecHandler.java:674)
at com.itko.lisa.test.ScriptExecHandler.executeScript(ScriptExecHandler.java:427)
at com.itko.lisa.vse.stateful.model.RequestMatcher.evaluateScript(RequestMatcher.java:138)
at com.itko.lisa.vse.stateful.model.RequestMatcher.matches(RequestMatcher.java:108)
at com.itko.lisa.vse.stateful.model.Request.matches(Request.java:427)
at com.itko.lisa.vse.stateful.model.Request.matches(Request.java:401)
at com.itko.lisa.vse.stateful.TransactionNavigator.deterministicSingleThreadFind(TransactionNavigator.java:186)
at com.itko.lisa.vse.stateful.TransactionNavigator.findTransaction(TransactionNavigator.java:166)
at com.itko.lisa.vse.stateful.TransactionNavigator.findMatchingSpecific(TransactionNavigator.java:522)
at com.itko.lisa.vse.stateful.TransactionNavigator.getRespondingTransaction(TransactionNavigator.java:473)
at com.itko.lisa.vse.stateful.TransactionNavigator.getStatelessResponses(TransactionNavigator.java:630)
at com.itko.lisa.vse.stateful.ConversationalStep.execute(ConversationalStep.java:516)
at com.itko.lisa.test.TestNode.executeNode(TestNode.java:984)
at com.itko.lisa.test.TestCase.execute(TestCase.java:1297)
at com.itko.lisa.test.TestCase.execute(TestCase.java:1198)
at com.itko.lisa.test.TestCase.executeNextNode(TestCase.java:1183)
at com.itko.lisa.test.TestCase.executeTest(TestCase.java:1124)
at com.itko.lisa.coordinator.Instance.run(Instance.java:208)
Caused by: java.lang.NoSuchMethodError: org.apache.poi.POIXMLDocument.hasOOXMLHeader(Ljava/io/InputStream;)Z
at org.eobjects.metamodel.excel.ExcelDataContext.getSpreadsheetReaderDelegate(ExcelDataContext.java:180)
at org.eobjects.metamodel.excel.ExcelDataContext.getMainSchema(ExcelDataContext.java:147)
at org.eobjects.metamodel.QueryPostprocessDataContext.getMainSchemaInternal(QueryPostprocessDataConte

 

I am using below logic in match script and kept  lisa-ext-ddvs.jar , MetaModel-excel-3.2.1.jar , MetaModel-core-3.2.1.jar, MetaModel-xml-3.2.1.jar and MetaModel-full-3.2.1.jar in lib folder.

In the response image i am using syntax as '<AcctId>{{scenarioOne_ILATWO}}</AcctId>. Here 'scenarioOne' is sheet name and ILATWO is column name in that sheet.

 

import com.itko.tdm.framework.builder.query.*;
import com.itko.tdm.framework.dto.*;
TDMQuery query = TDMQuery.create(Table.name("scenarioOne"));

query.whereArr(new WClause[]{new WClause("scenarioOne", "ILATWO",request_SOAP_Envelope_SOAP_Body_AcctInqRq_AcctSel_AcctId_text_.toString())});
return DS_Name.query(testExec, "scenarioOne",query);

 

Please let me know any suggestions to overcome this issue.

Outcomes