我正在处理drools和我的以下代码
import org.drools.RuleBase;
import org.drools.agent.RuleAgent;
import org.drools.definition.type.FactType;
public class MortgageApplicationTest {
/**
* @param args
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
RuleAgent agent = RuleAgent.newRuleAgent("/mortgageapproval.properties");
RuleBase rb = agent.getRuleBase();
FactType appType = rb.getFactType("mortgages.LoanApplication");
FactType incomeType = rb.getFactType("mortgages.IncomeSource");
Object application = appType.newInstance();
Object income = incomeType.newInstance();
appType.set(application, "amount", 25000);
appType.set(application, "deposit", 1500);
appType.set(application, "lengthYears", 20);
incomeType.set(income, "type", "Job");
incomeType.set(income, "amount", 65000);
rb.newStatelessSession().execute(new Object[] {application, income});
System.out.println(application);
}
}
以下是我的mortgageapproval.properties文件
url=http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
userName=admin
password=admin
这整个代码设置正在抛出401错误
RuleAgent(default) INFO (Tue Apr 26 11:03:25 IST 2011): Configuring with newInstance=true, secondsToRefresh=-1
RuleAgent(default) INFO (Tue Apr 26 11:03:25 IST 2011): Configuring package provider : URLScanner monitoring URLs: http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
RuleAgent(default) EXCEPTION (Tue Apr 26 11:03:25 IST 2011): Server returned HTTP response code: 401 for URL: http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST. Stack trace should follow.
java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1403)
at org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:50)
at org.drools.agent.URLScanner.readPackage(URLScanner.java:148)
at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:120)
at org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:96)
at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:410)
at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:362)
at org.drools.agent.RuleAgent.configure(RuleAgent.java:347)
at org.drools.agent.RuleAgent.init(RuleAgent.java:247)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:187)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:147)
at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:256)
at com.notidiots.MortgageApplicationTest.main(MortgageApplicationTest.java:19)
Exception in thread "main" java.lang.NullPointerException
....我只在tomcat的component.xml文件中提供了身份验证,如下所示
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin"/>
在我的drools'component.xml中,以下行显示我没有给出任何身份验证
<!-- NO authentication. This will bypass the login screen when you hit the app. Everyone is "guest" -->
<security:identity authenticate-method="#{nilAuthenticator.authenticate}"/>
请帮助我,因为没有很多drools开发者在那里......我没有得到所需的帮助....
提前致谢
答案 0 :(得分:1)
当您尝试获取在url
设置中配置的文件时,您收到404错误:http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
抵押贷款包和您指向的特定文件是否存在?