401 исключение в коде Java - PullRequest
2 голосов
/ 26 апреля 2011

Я работаю над слюнями и мой следующий код

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"/>

В моем файле drool 'component.xml следующая строка показывает, что я не проводил аутентификацию

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

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

Пожалуйста, помогите мне, так как там не так много разработчиков слюней ... Я не получаю необходимую помощь ....

заранее спасибо

1 Ответ

1 голос
/ 26 апреля 2011

В ответ вы получаете ошибку 404 при попытке извлечь файл, настроенный вами в настройке url: http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST

Существуют ли пакет закладных и конкретный файл, на который вы указываете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...