You have to create a change-set containing authentication information for the resource. Please search in this mailing list since this problem was previously solved.<div><br></div><div>Best Regards, <br clear="all"><br>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br>
<br>Esteban Aliverti<br>- Developer @ <a href="http://www.plugtree.com" target="_blank">http://www.plugtree.com </a><br>- Blog @ <a href="http://ilesteban.wordpress.com" target="_blank">http://ilesteban.wordpress.com</a><br>
<br><br><div class="gmail_quote">On Tue, Jan 3, 2012 at 2:44 PM, kachaps4u <span dir="ltr"><<a href="mailto:kachanAnidharan@gmail.com">kachanAnidharan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
/Hello there, I was trying to do write a simple rule inside BRMS: When a car<br>
model year is older than 1989, then destroy the car. Package was validated<br>
and created the snapshot and copied the uri. Then I created a Drools Project<br>
and was trying to access those resources through uri but I am not able to go<br>
forward. Its showing 401 exception at the line I specified the uri in the<br>
code, see below:/<br>
<br>
package pop.blah.test;<br>
<br>
import org.drools.KnowledgeBase;<br>
import org.drools.agent.KnowledgeAgent;<br>
import org.drools.agent.KnowledgeAgentFactory;<br>
import org.drools.io.ResourceFactory;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
import org.drools.definition.type.FactType;<br>
<br>
<br>
public class CarApp {<br>
<br>
public static void main(String[] args) {<br>
<br>
KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent(<br>
"myAgent1" );<br>
kagent.applyChangeSet(<br>
ResourceFactory.newUrlResource("<a href="http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/package/pop.blah.test/CAR/LATEST" target="_blank">http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/package/pop.blah.test/CAR/LATEST</a>"));<br>
KnowledgeBase kbase = kagent.getKnowledgeBase();<br>
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();<br>
ResourceFactory.getResourceChangeScannerService().start();<br>
try {<br>
FactType carType = kbase.getFactType( "pop.blah.test", "Car" );<br>
Object bmw = carType.newInstance();<br>
carType.set( bmw,"name","My Car" );<br>
carType.set( bmw,"make","BMW-x5" );<br>
carType.set( bmw,"year", 1977);<br>
ksession.insert( bmw );<br>
ksession.fireAllRules();<br>
boolean dest = (Boolean) carType.get( bmw, "destroy" );<br>
if (dest==true) {<br>
System.out.println("I am gona destroy that car!");<br>
}<br>
else {<br>
System.out.println("I am happy with my car!");<br>
}<br>
}<br>
catch (Exception E) {<br>
E.printStackTrace();<br>
}<br>
finally {<br>
ksession.dispose();<br>
}<br>
}<br>
<br>
}<br>
<br>
<br>
/and here is my Error:/<br>
<br>
[2012:01:03 08:01:578:info] ResourceChangeNotification created<br>
[2012:01:03 08:01:578:info] ResourceChangeScanner reconfigured with<br>
interval=60<br>
[2012:01:03 08:01:578:info] ResourceChangeScanner created with default<br>
interval=60<br>
[2012:01:03 08:01:578:debug] ResourceChangeNotification monitor added<br>
monitor=org.drools.io.impl.ResourceChangeScannerImpl@1bd7848<br>
[2012:01:03 08:01:593:debug] KnowledgeAgent building resource map<br>
[2012:01:03 08:01:593:info] KnowledegAgent has started listening for<br>
ChangeSet notifications<br>
[2012:01:03 08:01:593:info] KnowledgeAgent created, with configuration:<br>
monitorChangeSetEvents=true scanResources=true scanDirectories=true<br>
newInstance=true<br>
[2012:01:03 08:01:859:exception]<br>
java.lang.RuntimeException: Unable to parse ChangeSet<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:393)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168)<br>
at pop.blah.test.CarApp.main(CarApp.java:16)<br>
Caused by: java.io.IOException: Server returned HTTP response code: 401 for<br>
URL:<br>
<a href="http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/package/pop.blah.test/CAR/LATEST" target="_blank">http://localhost:8080/jboss-brms/org.drools.guvnor.Guvnor/package/pop.blah.test/CAR/LATEST</a><br>
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown<br>
Source)<br>
at org.drools.io.impl.UrlResource.grabStream(UrlResource.java:210)<br>
at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:146)<br>
at org.drools.io.impl.UrlResource.getReader(UrlResource.java:214)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:391)<br>
... 2 more<br>
[2012:01:03 08:01:859:exception]<br>
java.lang.RuntimeException: Unable to parse ChangeSet<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:397)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168)<br>
at pop.blah.test.CarApp.main(CarApp.java:16)<br>
[2012:01:03 08:01:859:info] KnowledgeAgent applying ChangeSet<br>
Exception in thread "main" java.lang.NullPointerException<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.processChangeSet(KnowledgeAgentImpl.java:215)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:183)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168)<br>
at pop.blah.test.CarApp.main(CarApp.java:16)<br>
<br>
<br>
<br>
Please help me.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/urlResource-applyChangeset-and-authentication-error-tp3629051p3629051.html" target="_blank">http://drools.46999.n3.nabble.com/urlResource-applyChangeset-and-authentication-error-tp3629051p3629051.html</a><br>
Sent from the Drools: User forum mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></span></blockquote></div><br></div>