Indeed, the change set is an xml file specifying the resources to add/modify/remove. Take a look at the change set structure here: <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-expert/html_single/index.html#d0e788">http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-expert/html_single/index.html#d0e788</a><div>
<br></div><div><a href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-expert/html_single/index.html#d0e788"></a>Best, <br><br><div class="gmail_quote">On Thu, Jun 3, 2010 at 5:48 PM, Josua <span dir="ltr"><<a href="mailto:josua.troesch@bluewin.ch">josua.troesch@bluewin.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
Hi,<br>
<br>
I’m new to drools, just started evaluating Drools-Guvnor for a project. To<br>
take advantage of Java-enums I’m using the current 5.1.0 Milestone 2.<br>
<br>
I created a decision table (web-guided) in drools-guvnor and deployed the<br>
package snapshot, which is downloadable and returns a .pkg-File. This File<br>
is in some Binary format (non plaintext). When I try to load that package in<br>
code using a KnowledgeAgent it fails on the following code line:<br>
<br>
knowledgeAgent.applyChangeSet(resource);<br>
<br>
with an Exception: “java.lang.RuntimeException: Unable to parse ChangeSet …<br>
Caused by: org.xml.sax.SAXParseException: Content is not allowed in<br>
prolog.”.<br>
I debugged it, and it seems to try to parse XML content from this binary<br>
file..<br>
<br>
Can anyone tell me the proper way to load a package from a remote Guvnor<br>
installation?<br>
<br>
Thx!<br>
<br>
<br>
Complete code:<br>
KnowledgeAgent knowledgeAgent =<br>
KnowledgeAgentFactory.newKnowledgeAgent("testAgent");<br>
UrlResource resource = (UrlResource) ResourceFactory.newUrlResource(url);<br>
resource.setBasicAuthentication("enabled");<br>
resource.setUsername("whatever");<br>
resource.setPassword("");<br>
knowledgeAgent.applyChangeSet(resource);<br>
KnowledgeBase knowledgeBase = knowledgeAgent.getKnowledgeBase();<br>
<br>
Stacktrace:<br>
<br>
java.lang.RuntimeException: Unable to parse ChangeSet<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:323)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:130)<br>
at<br>
com.efgfp.hermes.drools.test.DroolsTest.testDroolsDecisionTable(DroolsTest.java:37)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at<br>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at<br>
org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)<br>
at<br>
org.testng.internal.MethodHelper$1.runTestMethod(MethodHelper.java:762)<br>
at<br>
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:140)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at<br>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at<br>
org.testng.internal.MethodHelper.invokeHookable(MethodHelper.java:770)<br>
at org.testng.internal.Invoker.invokeMethod(Invoker.java:539)<br>
at<br>
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:700)<br>
at<br>
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1002)<br>
at<br>
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)<br>
at<br>
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)<br>
at org.testng.TestRunner.runWorkers(TestRunner.java:908)<br>
at org.testng.TestRunner.privateRun(TestRunner.java:617)<br>
at org.testng.TestRunner.run(TestRunner.java:498)<br>
at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)<br>
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)<br>
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)<br>
at org.testng.SuiteRunner.run(SuiteRunner.java:201)<br>
at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)<br>
at org.testng.TestNG.runSuitesLocally(TestNG.java:879)<br>
at org.testng.TestNG.run(TestNG.java:787)<br>
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)<br>
at<br>
org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:79)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at<br>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at<br>
com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)<br>
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.<br>
at<br>
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)<br>
at<br>
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1038)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)<br>
at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)<br>
at<br>
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)<br>
at<br>
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)<br>
at<br>
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)<br>
at<br>
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)<br>
at<br>
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)<br>
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)<br>
at<br>
org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:295)<br>
at<br>
org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:174)<br>
at<br>
org.drools.xml.XmlChangeSetReader.read(XmlChangeSetReader.java:49)<br>
at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:320)<br>
... 36 more<br>
<font color="#888888">--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/Use-Drools-Guvnor-pkg-tp868651p868651.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/Use-Drools-Guvnor-pkg-tp868651p868651.html</a><br>
Sent from the Drools - User mailing list archive at Nabble.com.<br>
<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>
</font></blockquote></div><br><br clear="all"><br>-- <br>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br><br>Esteban Aliverti<br>
</div>