All,
First, I apologize long email. I have a few questions on how to use RESTful web Service on Execution Server. I have read through the document and followed the instruction. I think I missed a few critical steps. Here are what I did.
1) Created package, category, rule, a java class (Referral as fact).
Class Referral {
String homeState;
String servviceType;
String stateLicenseNumber;
…
}
2) Used Test Scenarios tool to test rule. Everything worked perfectly.
3) Installed Execution Server in JBoss.
4) Added a mytest.properties file under \drools-5.0-guvnor-standalone\jboss-4.2.3.GA\server\default\deploy\drools-server.war\WEB-INF\classes\
<change-set
xmlns='http://drools.org/drools-5.0/change-set'";
xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
xs:schemaLocation='http://drools.org/drools-5.0/change-set
drools-change-set-5.0.xsd' >
<add>
<resource source=http://localhost:8080/DroolsDemo_sfasdfasd.pkg
type='PKG' />
</add>
</change-set>
5) Add jar file for above java
class in lib directory.
6) Created java class to call mytest RESTful service.
PostMethod
method = new PostMethod("http://localhost:8080/drools-server/knowledgebase/mytest");
method.setRequestHeader("Cache-Control", "no-cache");
method.setRequestHeader("Accept","text/xml");
method.setRequestHeader("Content-Encoding","UTF-8");
try{
File f = new File("Request.xml");
method.setRequestBody(new
FileInputStream(f));
}catch(Exception e){
}
Request.xml content is:
<knowledgebase-request>
<globals>
</globals>
<inOutFacts>
<named-fact>
<id>testFact</id>
<fact class="Drools.ReferralDetail">
<homeState>FL</homeState>
<serviceType>HH</serviceType>
<stateLicenseNumber></stateLicenseNumber>
</fact>
</named-fact>
</inOutFacts>
</knowledgebase-request>
I got RuleBase mytest not known or is not valid.
Here are my questions:
1) Did I miss any other steps? Anything I did wrong?
2) If I run execution server on different server, where I should put pkg file and how to make necessary changes to mytest.properties?
Appreciate your help and Happy Holidays.
Tony