Я пытаюсь выполнить правило в сервере выполнения IBM Jrule Rules, используя java-клиент. У меня есть сервер Websphere Community Edition V2.1, я могу вызывать и выполнять правила с использованием JSF, развернутого на сервере samae.Вызов Ilog Jrule Rules Сервер выполнения от java-клиента
Я хочу позвонить и выполнить правила, используя java-клиент. Я не нашел никакого способа сделать это,
В EJB. мы можем вызвать EJB из сети, а также из java-клиента, установив свойство Initial Context envionment. Существует ли какой-либо способ, аналогичный этому, чтобы вызвать правила сервера Execution, используя java-клиент, веб-часть уже работает.
import ilog.rules.res.session.IlrPOJOSessionFactory;
import ilog.rules.res.session.IlrStatelessSession;
import ilog.rules.res.session.IlrSessionFactory;
import ilog.rules.res.session.IlrStatefulSession;
import ilog.rules.res.session.IlrSessionRequest;
import ilog.rules.res.session.IlrJ2SESessionFactory;
import ilog.rules.res.session.IlrSessionResponse;
import ilog.rules.res.model.IlrPath;
import ilog.rules.res.session.extension.IlrExtendedJ2SESessionFactory;
import miniloan.Borrower;
import miniloan.Loan;
public class POJOEx {
public static void main(String... arg) {
// create rule session factory
//IlrSessionFactory sessionFactory = new IlrPOJOSessionFactory();
//IlrExtendedJ2SESessionFactory sessionFactory = new IlrExtendedJ2SESessionFactory();
// j2se factory
IlrSessionFactory sessionFactory = new IlrJ2SESessionFactory();
try {
// use stateless session for invocation
IlrStatelessSession statelessSession = sessionFactory.createStatelessSession();
//input parameter
Borrower borrower = new miniloan.Borrower("Joe", 600,
80000);
// in out parameter
Loan loan = new miniloan.Loan(500000, 240, 0.05);
IlrSessionRequest request = sessionFactory.createRequest();
//rule path
request.setRulesetPath(IlrPath.parsePath("/miniloanruleapp/2.0/miniloanrules/1.0"));
request.setUserDat("miniloanruleapp.MiniloanrulesclientRunnerImpl.executeminiloanrules");
request.setInputParameter("borrower", borrower);
request.setInputParameter("loan", loan);
//executing
IlrSessionResponse response = statelessSession.execute(request);
System.out.println("userdata = " + response.getOutputParameters().get("loan"));
System.out.println("outputString = " + (String) response.getUserData());
System.out.println("executionId = " + response.getExecutionId());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Я получаю ниже ошибки.
ilog.rules.res.xu.ruleset.impl.archive.IlrRulesetArchiveInformationNotFoundException: Cannot get the information about the ruleset /miniloanruleapp/2.0/miniloanrules/1.0
может кто-нибудь предложить, где указывать URL-адрес сервера, имя пользователя и пароль. как мы указываем значения InitialContext в EJB.
Большое спасибо за подробное объяснение, как вы указали, я буду использовать веб-службу для доступа к RES с сервера, а затем позвоню на эту веб-службу, используя чистый клиент java для доступа и выполнения правил, проживающих в RES. –