Drools-guvnor Server returned HTTP response code: 401
java_feng
2011-04-19
RuleAgent(default) INFO (Tue Apr 19 05:46:59 GMT 2011): Configuring with newInstance=false, secondsToRefresh=-1
RuleAgent(default) INFO (Tue Apr 19 05:46:59 GMT 2011): Configuring package provider : URLScanner monitoring URLs: http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST RuleAgent(default) EXCEPTION (Tue Apr 19 05:46:59 GMT 2011): Server returned HTTP response code: 401 for URL: http://localhost:8080/drools-5.1.1-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-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.drools.agent.HttpClientImpl.fetchPackage(HttpClientImpl.java:77) at org.drools.agent.URLScanner.readPackage(URLScanner.java:171) at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:143) at org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:119) at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:429) at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:381) at org.drools.agent.RuleAgent.configure(RuleAgent.java:366) at org.drools.agent.RuleAgent.init(RuleAgent.java:266) at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:206) at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:166) at com.alesaudate.drools.sample.client.Client.getAgent(Client.java:57) at com.alesaudate.drools.sample.client.Client.consume(Client.java:32) at com.alesaudate.drools.sample.client.Client.main(Client.java:117) Exception in thread "main" java.lang.NullPointerException at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:382) at org.drools.agent.RuleAgent.configure(RuleAgent.java:366) at org.drools.agent.RuleAgent.init(RuleAgent.java:266) at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:206) at org.drools.agent.RuleAgent.newRuleAgent(RuleAgent.java:166) at com.alesaudate.drools.sample.client.Client.getAgent(Client.java:57) at com.alesaudate.drools.sample.client.Client.consume(Client.java:32) at com.alesaudate.drools.sample.client.Client.main(Client.java:117) 有人说是安全问题 需要配置basicAuthentication=enabled username=admin password=admin 可是配置了也没有用啊。有人解决过吗? |
|
java_feng
2011-04-19
我的完整错误代码:
执行完毕1 [2011:04:109 05:04:78:info] ResourceChangeNotification created [2011:04:109 05:04:78:info] ResourceChangeScanner reconfigured with interval=60 [2011:04:109 05:04:78:info] ResourceChangeScanner created with default interval=60 [2011:04:109 05:04:78:debug] ResourceChangeNotification monitor added monitor=org.drools.io.impl.ResourceChangeScannerImpl@8b819f [2011:04:109 05:04:78:debug] KnowledgeAgent building resource map [2011:04:109 05:04:78:info] KnowledgeAgent created, with configuration: monitorChangeSetEvents=true scanResources=true scanDirectories=true newInstance=true [2011:04:109 05:04:78:info] KnowledegAgent has started listening for ChangeSet notifications [2011:04:109 05:04:875:info] KnowledgeAgent applying ChangeSet [2011:04:109 05:04:875:debug] KnowledgeAgent notifier subscribing to resource=[UrlResource path='http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST'] [2011:04:109 05:04:875:debug] ResourceChangeNotification subscribing listener=org.drools.agent.impl.KnowledgeAgentImpl@dc57db to resource=[UrlResource path='http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST'] [2011:04:109 05:04:875:debug] ResourceChangeScanner subcribing notifier=org.drools.io.impl.ResourceChangeNotifierImpl@c24c0 to resource=[UrlResource path='http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST'] [2011:04:109 05:04:890:debug] KnowledgeAgent rebuilding KnowledgeBase using ChangeSet [2011:04:109 05:04:906:exception] java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:664) at org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:889) at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:704) at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:584) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:185) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168) at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:63) at com.sample.DroolsTest.main(DroolsTest.java:29) Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at org.drools.io.impl.UrlResource.grabStream(UrlResource.java:210) at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:146) at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:652) ... 7 more [2011:04:109 05:04:906:debug] KnowledgeAgent obtaining pkg resource=[UrlResource path='http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST'] [2011:04:109 05:04:906:exception] java.lang.RuntimeException: KnowledgeAgent exception while trying to deserialize KnowledgeDefinitionsPackage at org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:914) at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:704) at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:584) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:185) at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168) at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:63) at com.sample.DroolsTest.main(DroolsTest.java:29) Caused by: java.lang.NullPointerException at org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:906) ... 6 more [2011:04:109 05:04:906:info] KnowledgeAgent new KnowledgeBase now built and in use [2011:04:109 05:04:906:debug] KnowledgeAgent finished rebuilding KnowledgeBase using ChangeSet 执行完毕2 finally:执行完毕! |
|
java_feng
2011-04-19
我的调用:
package com.sample; import java.net.URL; import org.drools.KnowledgeBase; import org.drools.KnowledgeBaseFactory; import org.drools.agent.KnowledgeAgent; import org.drools.agent.KnowledgeAgentFactory; import org.drools.builder.KnowledgeBuilder; import org.drools.builder.KnowledgeBuilderError; import org.drools.builder.KnowledgeBuilderErrors; import org.drools.builder.KnowledgeBuilderFactory; import org.drools.builder.ResourceType; import org.drools.io.ResourceFactory; import org.drools.io.impl.UrlResource; import org.drools.logger.KnowledgeRuntimeLogger; import org.drools.logger.KnowledgeRuntimeLoggerFactory; import org.drools.runtime.StatefulKnowledgeSession; /** * This is a sample class to launch a rule. */ public class DroolsTest { public static final void main(String[] args) { System.out.println("执行完毕1"); try { // load up the knowledge base KnowledgeBase kbase = readKnowledgeBase(); // RuleBase base=readKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); // StatefulSession ksession = base.newStatefulSession(); KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory .newFileLogger(ksession, "test"); // go ! System.out.println("执行完毕2"); Message message = new Message(); message.setMessage("Hello World"); message.setStatus(Message.HELLO); ksession.insert(message); ksession.fireAllRules(); logger.close(); } catch (Throwable t) { System.out.println("error:执行完毕!"); t.printStackTrace(); }finally{ System.out.println("finally:执行完毕!"); } } private static KnowledgeBase readKnowledgeBase() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory .newKnowledgeBuilder(); String urlString = "http://localhost:8080/drools-5.1.1-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST/ChangeSet.xml"; //String urlString = "http://localhost:8080/hcbrms/org.drools.guvnor.Guvnor/package/com.wu.test/LATEST/ChangeSet.xml"; URL url = new URL(urlString); KnowledgeAgent kagent = KnowledgeAgentFactory.newKnowledgeAgent("test"); UrlResource urlResource = (UrlResource)ResourceFactory.newUrlResource(url); urlResource.setBasicAuthentication("enabled"); urlResource.setUsername("admin"); urlResource.setPassword(""); kagent.applyChangeSet(urlResource); KnowledgeBase kbase = kagent.getKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); // 采用Agent的方式 /* * KnowledgeAgent * kagent=KnowledgeAgentFactory.newKnowledgeAgent("/deploy.properties"); * KnowledgeBase kbase=kagent.getKnowledgeBase(); */ return kbase; } public static class Message { public static final int HELLO = 0; public static final int GOODBYE = 1; private String message; private int status; public String getMessage() { return this.message; } public void setMessage(String message) { this.message = message; } public int getStatus() { return this.status; } public void setStatus(int status) { this.status = status; } } } |
|
java_feng
2011-04-19
有人知道吗?
|
|
windhello
2011-04-30
你的用的是 ChangeSet.xml的配置方式啊?可以换个别的配置方式。
还有这个drools-5.1.1版本不太稳定,是比较容易出问题,可以改成比较老的版本的。 |
|
chenlinux
2012-11-07
我也遇到这个问题了,大哥,能否告诉你怎么解决的?
|