2 Stimmen

401 Ausnahme in Java-Code

Ich arbeite an Drools und meinem folgenden Code

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);
    }

}

Nachfolgend ist meine Datei mortgageapproval.properties aufgeführt

url=http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
userName=admin
password=admin

Diese ganze Code-Setup ist folgende 401 Fehler auslöst

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

.... Ich habe die Authentifizierung nur in der Datei component.xml des Tomcat angegeben, die wie folgt lautet

<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

<role rolename="admin"/>
<user username="admin" password="admin" roles="admin"/>

In meiner drools' component.xml zeigt folgende Zeile, dass ich keine Authentifizierung angegeben habe

<!-- NO authentication. This will bypass the login screen when you hit the app. Everyone is "guest" -->

<security:identity authenticate-method="#{nilAuthenticator.authenticate}"/>

Bitte helfen Sie mir aus, da es nicht viele drools Entwickler gibt... Ich erhalte keine erforderliche Hilfe....

vielen Dank im Voraus

1voto

Shane Madden Punkte 261

Sie erhalten eine 404-Fehlermeldung als Antwort, wenn Sie versuchen, die Datei abzurufen, die Sie in der url Umgebung: http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST

Existieren das Hypothekenpaket und die spezifische Datei, auf die Sie verweisen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X