Hi,

When I try to instantiate an Excel Decision Table using Drools + Spring (kresource), I get this error :

REMARK: the file is the same as we have in Drools Unit Test (decision-table)

Error :

Caused by: java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:75)
at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:75)
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:93)
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:72)
at org.drools.decisiontable.DecisionTableProviderImpl.compileStream(DecisionTableProviderImpl.java:37)
at org.drools.decisiontable.DecisionTableProviderImpl.loadFromInputStream(DecisionTableProviderImpl.java:20)
at org.drools.compiler.compiler.DecisionTableFactory.loadFromInputStream(DecisionTableFactory.java:15)
at org.drools.compiler.compiler.PackageBuilder.decisionTableToPackageDescr(PackageBuilder.java:460)
at org.drools.compiler.compiler.PackageBuilder.addPackageFromDecisionTable(PackageBuilder.java:454)
at org.drools.compiler.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:684)
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51)
at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:40)
at org.drools.container.spring.beans.KnowledgeBaseBeanFactory.afterPropertiesSet(KnowledgeBaseBeanFactory.java:110)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)

Config :

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:drools="http://drools.org/schema/drools-spring"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd">

    <drools:grid-node id="node1"/>

    <drools:kbase id="kbase1" node="node1">
        <drools:configuration>
            <drools:mbeans enabled="true"/>
        </drools:configuration>
        <drools:resources>
            <drools:resource type="DTABLE" source="classpath:data/IntegrationExampleTest.xls"/>
        </drools:resources>
    </drools:kbase>

    <drools:ksession id="ksession1"
                     type="stateless"
                     name="ksession1"
                     kbase="kbase1"
                     node="node1"/>

</beans>

Regards,

--
Charles Moulliard
Apache Committer / Sr. Enterprise Architect (RedHat)
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com