I assume:-<br><br>1) You changed the URL in the change-set to suit where your Guvnor is running?<br><br>The stack trace suggests <a href="http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST">http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST</a> could not be found.<br>
<br>2) You built the mortgages package in Guvnor?<br><br>I've been running this very same example numerous times in the past few days, both on Tomcat and JBoss AS7.1.1 so am confident it works.<br><br>On 14 September 2012 16:56, richard <span dir="ltr"><<a href="mailto:rx74me@yahoo.com" target="_blank">rx74me@yahoo.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Guvnor - Version 5.4.0.Final<br>
\drools-examples\drools-examples-brms\mortgage-example<br>
<br>
I get this error.<br>
<br>
java.lang.RuntimeException: KnowledgeAgent exception while trying to<br>
deserialize KnowledgeDefinitionsPackage<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:776)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1071)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:824)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:673)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:203)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:182)<br>
at<br>
org.drools.guvnor.examples.mortgage.client.MortgageClientExample.readKnowledgeBase(MortgageClientExample.java:92)<br>
at<br>
org.drools.guvnor.examples.mortgage.client.MortgageClientExample.main(MortgageClientExample.java:49)<br>
Caused by: java.io.FileNotFoundException:<br>
<a href="http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST" target="_blank">http://localhost:8080/guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST</a><br>
at<br>
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1434)<br>
at org.drools.io.impl.UrlResource.grabStream(UrlResource.java:210)<br>
at org.drools.io.impl.UrlResource.getInputStream(UrlResource.java:146)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:748)<br>
... 7 more<br>
<div class="im">Exception in thread "main" java.lang.NullPointerException<br>
</div> at java.util.AbstractCollection.addAll(AbstractCollection.java:303)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1077)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:824)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:673)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:203)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:182)<br>
at<br>
org.drools.guvnor.examples.mortgage.client.MortgageClientExample.readKnowledgeBase(MortgageClientExample.java:92)<br>
at<br>
org.drools.guvnor.examples.mortgage.client.MortgageClientExample.main(MortgageClientExample.java:49)<br>
<br>
/*<br>
* Copyright 2011 JBoss Inc<br>
*<br>
* Licensed under the Apache License, Version 2.0 (the "License");<br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at<br>
*<br>
* <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">http://www.apache.org/licenses/LICENSE-2.0</a><br>
*<br>
* Unless required by applicable law or agreed to in writing, software<br>
* distributed under the License is distributed on an "AS IS" BASIS,<br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>
* See the License for the specific language governing permissions and<br>
* limitations under the License.<br>
*/<br>
<br>
package org.drools.guvnor.examples.mortgage.client;<br>
<br>
import javax.swing.JOptionPane;<br>
<br>
import org.drools.KnowledgeBase;<br>
import org.drools.agent.KnowledgeAgent;<br>
import org.drools.agent.KnowledgeAgentFactory;<br>
import org.drools.definition.type.FactType;<br>
import org.drools.io.Resource;<br>
import org.drools.io.ResourceFactory;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
<br>
public class MortgageClientExample {<br>
<br>
/**<br>
* Entry point demonstrating use of KnowledgeAgent and changesets<br>
retrieving<br>
* a rule package from a running instance of Guvnor.<br>
* @param args<br>
*/<br>
public static void main(String[] args) {<br>
<br>
JOptionPane.showMessageDialog(null, "This example makes a few<br>
assumptions:\n" +<br>
"- Start the app server on localhost on port 8080.\n" +<br>
"- Rename the guvnor war to guvnor.war and deploy it to the<br>
app server.\n" +<br>
"- Surf to Guvnor and log in.\n" +<br>
"- In the menu Administration, Import/Export, import<br>
/exported-repositories/mortgage-sample-repository.xml\n" +<br>
"- Refresh the browser, open menu Package, click Rebuild all<br>
packages.\n" +<br>
"Click OK when this is done.", "Preparation",<br>
JOptionPane.INFORMATION_MESSAGE);<br>
<br>
StatefulKnowledgeSession ksession = null;<br>
try {<br>
// load up the knowledge base<br>
KnowledgeBase kbase = readKnowledgeBase();<br>
<br>
// Dynamic fact creation as the model was declared in the DRL<br>
FactType appType = kbase.getFactType("mortgages",<br>
"LoanApplication");<br>
Object application = appType.newInstance();<br>
appType.set(application, "amount", 25000);<br>
appType.set(application, "deposit", 1500);<br>
appType.set(application, "lengthYears", 20);<br>
<br>
FactType incomeType = kbase.getFactType("mortgages",<br>
"IncomeSource");<br>
Object income = incomeType.newInstance();<br>
incomeType.set(income, "type", "Job");<br>
incomeType.set(income, "amount", 65000);<br>
<br>
// Invoke the magic<br>
ksession = kbase.newStatefulKnowledgeSession();<br>
ksession.insert(application);<br>
ksession.insert(income);<br>
ksession.fireAllRules();<br>
<br>
// Voila!<br>
String message = "The loan application is now:\n" + application;<br>
System.out.println(message);<br>
JOptionPane.showMessageDialog(null, message, "Result",<br>
JOptionPane.INFORMATION_MESSAGE);<br>
} catch (InstantiationException e) {<br>
e.printStackTrace();<br>
} catch (IllegalAccessException e) {<br>
e.printStackTrace();<br>
} finally {<br>
if (ksession != null) {<br>
ksession.dispose();<br>
}<br>
}<br>
}<br>
<br>
/**<br>
* Load KnowledgeBase using KnowledgeAgent configured with accompanying<br>
changeset xml<br>
* @return A KnowledgeBase<br>
*/<br>
private static KnowledgeBase readKnowledgeBase() {<br>
KnowledgeAgent kagent =<br>
KnowledgeAgentFactory.newKnowledgeAgent("MortgageAgent");<br>
Resource changeset = ResourceFactory.newClassPathResource(<br>
<br>
"org/drools/guvnor/examples/mortgage/mortgage-changeset.xml");<br>
kagent.applyChangeSet(changeset);<br>
KnowledgeBase kbase = kagent.getKnowledgeBase();<br>
kagent.dispose();<br>
return kbase;<br>
}<br>
<br>
}<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/Guvnor-example-how-to-access-rules-in-database-instead-sample-drl-file-tp4019713p4019795.html" target="_blank">http://drools.46999.n3.nabble.com/Guvnor-example-how-to-access-rules-in-database-instead-sample-drl-file-tp4019713p4019795.html</a><br>
<div class="HOEnZb"><div class="h5">Sent from the Drools: User forum mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</div></div></blockquote></div><br>