<div>Hi All,</div>
<div>We have implemented business logic with the drools (5.2.0). I have export this project as jar file and placed in web module in WEB-INF/lib folder. When we test this drools jar from web module in local machine, it is working fine and accessing the rules file.</div>

<div> </div>
<div>But when export this war file to DEV box (that is running in Windows) and try access to the drools, we are getting the following exception.</div>
<div> </div>
<div>16 Dec 2011 14:27:13 ERROR EligibilityImpl:87 - Error Message is...java.lang.RuntimeException: Unable to parser Reader<br> at org.drools.compiler.DrlParser.getParser(DrlParser.java:314)<br> at org.drools.compiler.DrlParser.parse(DrlParser.java:142)<br>
 at org.drools.compiler.DrlParser.parse(DrlParser.java:148)<br> at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:275)<br> at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:451)<br>
 at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)<br> at gov.il.dhs.ccms.impl.EligibilityImpl.readKnowledgeBase(EligibilityImpl.java:251)<br> at gov.il.dhs.ccms.impl.EligibilityImpl.executeEligibilityRules(EligibilityImpl.java:72)<br>
 at gov.il.dhs.ccms.eligibility.EligibilityServiceImpl.getEligibilityResults(EligibilityServiceImpl.java:116)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)<br>
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:618)<br> at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)<br>
 at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)<br> at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)<br> at flex.messaging.AsyncMessageBroker.routeMessageToService(AsyncMessageBroker.java:563)<br>
 at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1005)<br> at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)<br> at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)<br>
 at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)<br> at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)<br> at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)<br>
 at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)<br> at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:353)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)<br>
 at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)<br> at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592)<br> at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:525)<br>
 at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)<br> at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751)<br> at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)<br>
 at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:126)<br> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)<br> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)<br>
 at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)<br> at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)<br> at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)<br>
 at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)<br> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)<br> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)<br>
 at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)<br> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)<br> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)<br>Caused by: sun.io.MalformedInputException<br>
 at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:262)<br> at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:316)<br> at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:366)<br> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:252)<br>
 at java.io.InputStreamReader.read(InputStreamReader.java:212)<br> at java.io.Reader.read(Reader.java:143)<br> at org.drools.io.impl.ReaderInputStream.read(ReaderInputStream.java:122)<br> at java.io.InputStream.read(InputStream.java:113)<br>
 at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:354)<br> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:252)<br> at java.io.InputStreamReader.read(InputStreamReader.java:212)<br> at org.antlr.runtime.ANTLRReaderStream.load(ANTLRReaderStream.java:82)<br>
 at org.antlr.runtime.ANTLRInputStream.&lt;init&gt;(ANTLRInputStream.java:68)<br> at org.antlr.runtime.ANTLRInputStream.&lt;init&gt;(ANTLRInputStream.java:52)<br> at org.antlr.runtime.ANTLRInputStream.&lt;init&gt;(ANTLRInputStream.java:48)<br>
 at org.antlr.runtime.ANTLRInputStream.&lt;init&gt;(ANTLRInputStream.java:40)<br> at org.drools.compiler.DrlParser.getParser(DrlParser.java:309)<br> ... 43 more</div>
<div> </div>
<div>The project structure of drools projects is :</div>
<div> </div>
<div>/src</div>
<div>-- gov</div>
<div>   --il</div>
<div>     -- dhs</div>
<div>        -- rules</div>
<div>            -- abc.drl</div>
<div> </div>
<div>  I have added the drl file to KnowledgeBuilder like this</div>
<div>  <font color="#3f7f5f"><font color="#3f7f5f">kbuilder.add(ResourceFactory.newClassPathResource(&quot;<font color="#2a00ff"><font color="#2a00ff">gov/il/dhs/ccms/rules/Eligibility.drl</font></font>&quot;), ResourceType.DRL).</font></font></div>

<div><font color="#3f7f5f"></font> </div>
<div><font color="#3f7f5f">  </font><font color="#000000">I added InputSteamReader  with encoding type &quot;UTF-8&quot; also, it is working in local but not in DEV box.</font></div>
<div> </div>
<div><font color="#3f7f5f">  </font><font color="#000000">Could u please help us to solve this issue.</font></div>