互联网服务weblogic 10ilog 6

ilog6 在weblogic10 上部署问题

weblogic 版本是10.3.6  ilog 版本是:6.6.3 版本由于项目是从JBOSS 上迁移到WEBLOGIC 上,
第一次调用 报错信息如下,但是之后调用就会正常、相应规则也执行了
  如果信息如下:
  java.rmi.RemoteException: EJB Exception: ; nested exception is:
        java.lang.NoSuchMethodError: ilog.rules.engine.IlrRuleset.setSam(Lilog/j
um/client650/IluSAM;)V
        at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:20
5)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
.java:345)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
.java:259)
        at ilog.rules.bres.session.ejb.IlrStatelessRuleSessionEJB_ugt9ms_EOImpl_
1036_WLStub.executeRules(Unknown Source)
        at com.servelt.engine.RuleExceuteSession.runRule(RuleExceuteSession.java
:49)
        at com.servelt.test.TestServlet.doPost(TestServlet.java:52)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run
(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecuri
tyHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:301)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
a:184)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.wrapRun(WebAppServletContext.java:3732)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:3696)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppS
ervletContext.java:2273)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletC
ontext.java:2179)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.j


调用的代码如下:
   Properties p = new Properties();

//p.load(RuleExecuteSession.class.getClassLoader().getResourceAsStream("jndi.properties"));

    p.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");

p.put("java.naming.provider.url", "t3://127.0.0.1:7001");

p.put("java.naming.security.principal","weblogic");

p.put("java.naming.security.credentials","1qaz2wsx");

//IlrRuleSessionProvider rsProvider = new IlrRuleSessionProviderFactory.Builder(p).build();

IlrRuleSessionProvider rsProvider =  new IlrRuleSessionProviderFactory.Builder(p).setJNDINameOfRuleSessionStateless("ejb.life.IlrStatelessRuleSessionEJB").build();

//IlrRuleSessionProvider rsProvider = new IlrRuleSessionProviderFactory.Builder(IlrRuleSessionProviderFactory.REMOTE_RULESESSION_PROVIDER).setJNDINameOfRuleSessionStateless("ejb.life.IlrStatelessRuleSessionEJB").build();

System.out.println("rsProvider:"+rsProvider);

IlrStatelessRuleSession rs = rsProvider.createStatelessRuleSession();

System.out.println("rs:"+rs);

IlrSessionRequest request = new IlrSessionRequest(rulePath);

System.out.println("request:"+request);

IlrSessionExecutionSettings settings = request.getExecutionSettings();

System.out.println("settings:"+settings);

IlrSessionParameters pars = settings.getInputParameters();

System.out.println("pars:"+pars);

System.out.println("**************************************");

pars.setParameter(IN_PARAMETER, proposalBom);

IlrSessionResponse response = rs.executeRules(request);

System.out.println("response:"+response);

IlrSessionExecutionResult result = response.getExecutionResult();

System.out.println("result:"+result);

IlrSessionParameters outPars = result.getOutputParameters();

System.out.println("outPars:"+outPars);

BOMResult verifyResult = (BOMResult) outPars.getObjectValue(OUT_PARAMETER);
参与1

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

xiaomu
项目经理软件公司

问题状态

  • 发布时间:2013-11-26
  • 关注会员:1 人
  • 问题浏览:2365
  • X社区推广