If you got Server returned HTTP response code: 401 for URL: http://localhost:8080/drools-guvnor exception then you have to do this :
Create a change-set.xml file and fill with the code below.
<?xml version="1.0" encoding="UTF-8"?>
<change-set xmlns='http://drools.org/drools-5.0/change-set'
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd' >
<add>
<!--resource source='classpath:spring/payment_rules.drl' type='DRL' /-->
<resource source='http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/com.sample/LATEST.drl'
type='DRL' basicAuthentication="enabled" username="admin" password="admin" />
</add>
</change-set>
Then use this Java Code to access knowledgeBase :
private static KnowledgeBase readKnowledgeBaseByAgent() {
KnowledgeAgent agent = KnowledgeAgentFactory.newKnowledgeAgent("LocalAgent");
URL url = null;
//This url is written inside the change-set.xml
// String ruleUrl = "http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/com.sample/LATEST.drl";
String changeSetPath = "change-set.xml";
agent.applyChangeSet(ResourceFactory.newClassPathResource(changeSetPath));
return agent.getKnowledgeBase();
}
And no more 401 Error :)
No comments:
Post a Comment