If you want to execute an RSM archive from an HTTP client, there is a special servlet registered in the RSM Console.
To use this servlet, send an HTTP request containing the following information:
<html>
<body>
<form action="http://localhost:8080/rsm/ufaces/XB" method="post" enctype="multipart/form-data">
<h1>RSM Archive Execution Service</h1>
<input type="file" id="data" name="data" size="100" /><P/>
<input type="checkbox" name="save">Save<P/>
<input type="checkbox" name="launch">Launch<P/>
<input type="hidden" name="type" value="RSMArchive"/><P/>
<input type="submit" value="submit">
</form>
</body>
</html>
The input checkbox parameter must return "on" to indicate that it is checked.
In response, the answer from the servlet can be:
-
The serialized XML structure of the sent simulation/scenario suite or scenario if the request includes
launch=on and the execution is successful.
OR
-
An XML tree of the structure entered in the database if the request does not include a
launch but does include a save=on and the execution is successful. For example:
<?xml version="1.0" encoding="UTF-8"?>
<simulation type="add" name="Loan Validation Simulation" description="A little description">
<scenario-suite type="add" name="Loan Validation Suite Excel" description="A little description">
<scenario type="add" name="Loan Validation Scenario Excel 1" description="loan Validation Excel Sample 1">
<input-parameters type="add" name="Input Excel"/>
<tests type="add" name="Test Set Excel 1"/>
<scenario type="add" name="Loan Validation Scenario Excel 2" description="loan Validation Excel Sample 2">
<input-parameters type="add" name="Input Excel"/>
<tests type="add" name="Test Set Excel 2"/>
<scenario-suite type="add" name="Loan Validation Suite XML" description="A little description">
<scenario type="add" name="Loan Validation Scenario XML 1" description="Loan Validation XML Sample 1">
<input-parameters type="add" name="Input XML"/>
<tests type="add" name="Test Set XML 1"/>
<scenario type="add" name="Loan Validation Scenario XML 2" description="Loan Validation XML Sample 2">
<input-parameters type="add" name="Input XML"/>
<tests type="add" name="Test Set XML 2"/>
OR
-
An error encapsulated in an
<error> tag with a CDATA section if the execution is not successful:
<?xml version="1.0" encoding="UTF-8"?>
ilog.rules.ras.core.archive.IlrMalformedArchiveException: The RSM archive is incomplete or badly defined: The archive-descriptor.xml file is missing.
at ilog.rules.ras.core.archive.IlrRSMArchiveLoader.processElement(IlrRSMArchiveLoader.java:264)
at ilog.rules.ras.core.archive.IlrRSMArchiveLoader.load(IlrRSMArchiveLoader.java:153)
at ilog.rules.ras.tass.tools.IlrArchiveLoadingTool.loadArchive(IlrArchiveLoadingTool.java:153)
at ilog.rules.ras.tass.servlets.services.IlrRSMArchiveExecutionService.execute(IlrRSMArchiveExecutionService.java:60)
at ilog.rules.ras.tass.servlets.IlrExecutionBrokerServlet.doPost(IlrExecutionBrokerServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)
at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Related Concepts
Related Tasks
Related Reference
Related Samples