Question

I am migrating an application from JBoss 4.0.5 to 6. I have sucessfully migrated the application, now there is a Drools implementation in the application and its Drools 2.0-beta-17.

I am getting the following error:

SAXParseException: no semantic module for namespace 'http://drools.org/rules' (rule), 

Any help much appreciated, below is the complete error stack:

   10:47:24,622 ERROR [stderr] (http-localhost-127.0.0.1-8080-1)      org.xml.sax.SAXParseException: no semantic module for namespace 'http://drools.org/rules' (rule)


 10:47:24,623 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.drools.io.RuleSetReader.startElement(RuleSetReader.java:483)


  10:47:24,623 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:496)


  10:47:24,624 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:283)


10:47:24,625 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1653)


10:47:24,626 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)


10:47:24,626 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:845)


10:47:24,627 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:768)


10:47:24,627 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)


10:47:24,628 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1196)


10:47:24,628 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:555)


10:47:24,629 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.apache.xerces.jaxp.SAXParserImpl.parse(SAXParserImpl.java:289)


10:47:24,629 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.drools.io.RuleSetReader.read(RuleSetReader.java:378)


10:47:24,629 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.drools.io.RuleSetReader.read(RuleSetReader.java:318)


10:47:24,630 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.drools.io.RuleBaseBuilder.buildFromInputStream(RuleBaseBuilder.java:154)


10:47:24,630 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) at org.drools.io.RuleBaseBuilder.buildFromInputStream(RuleBaseBuilder.java:135)

Below is my drl file:

<rule-set name="Search_POST: Routing" xmlns="http://drools.org/rules"   xmlns:java="http://drools.org/semantics/java" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://drools.org/rules C:/jboss-as-7.1.1.Final/server/schema/org/drools/rule/drl.xsd"> 

<rule name="Select" salience="1"><parameter identifier="context">  <java:class>bom.Context</java:class></parameter><java:condition>context.getField("CONTEXT", "USER").isEqual("Select")</java:condition><java:consequence>context.getField("CONTEXT", "TARGET").setValue("Contact");</java:consequence></rule></rule-set>

Am i missing something a xsd validation?

Was it helpful?

Solution

You cannot load the Legacy Drools as Module in JBoss 7 Instead load it as a application jar bundled in an ear. The main reason being META-INF folder files not accessible to the JBoss Module Class Loader.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top