We have installed the wM9.12 Business rule plugin in designer and have placed the licence key for business rule under the below path:
But when trying to export the business rule to the integration Server,we get the below error in Designer:
Export Failed:
Reason:
Could notexport project.Make sure you have slected the right server and that it is configured correctly.See documentation,the eclipse error log and check the IS Server log for more detailed information about the error
and below is the error thrown in IS error logs:
com.wm.app.b2b.server.ServiceException: java.sql.SQLSyntaxErrorException: [SoftwareAG][SQLServer JDBC Driver][SQLServer]Invalid object name āBusinessRulesTargetRuntimesā.
Caused by: com.wm.app.b2b.server.ServiceException: java.sql.SQLSyntaxErrorException: [SoftwareAG][SQLServer JDBC Driver][SQLServer]Invalid object name āBusinessRulesTargetRuntimesā.
Caused by: java.sql.SQLSyntaxErrorException: [SoftwareAG][SQLServer JDBC Driver][SQLServer]Invalid object name āBusinessRulesTargetRuntimesā.
when trying to test the startup service(wm.businessrules.admin:startup ) in wMBusinessRules package,it throws the below error;
om.wm.app.b2b.server.ServiceException: com.wm.app.b2b.server.ServiceException: java.sql.SQLSyntaxErrorException: [SoftwareAG][SQLServer JDBC Driver][SQLServer]Invalid object name āBusinessRulesTargetRuntimesā. at com.softwareag.rules.businessrulespackage.StartupManager.startup(StartupManager.java:91) at wm.businessrules.admin.startup(admin.java:221) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:404) at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:646) at com.wm.app.b2b.server.util.tspace.ReservationProcessor.process(ReservationProcessor.java:39) at com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:49) at com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:243) at com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49) at com.wm.app.b2b.server.invoke.PipelineProcessor.process(PipelineProcessor.java:171) at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:299) at com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:34) at com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:377) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:545) at com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:382)
Can someone please assist on what configuration is missing.
From the error it looks like the table āBusinessRulesTargetRuntimesā [When a Rules runtimes starts up and registers itself in the BUSINESSRULESTARGETRUNTIMES table] is not present in the DB.
Please check the DB where the product tables are configured , does this table exist.
If it does not , then run the Database Component Configurator for the product Business rules.
We have configured the table for BUSINESSRULESTARGETRUNTIMES and able to export successfully now.
But have one more query ,when creating the Decision table in the operators tab ,im able to see only 2 operators = and != and not able to see the other operators like >,<,etc.Could this be an installation problem?
Yes i can see the operators coming in for the fields defined as date.But when i import a xml schema having integer fields,it still appears as string fields in the document and data model.
when imported the first 2 fields datatype appear as date and string respectively,but the third field still appears as string even though declared as Integer.
Also if i try to manually create doc in designer there is no option for setting Datatype as integer,could see options as string,xml reference,document,etc.
When you export xsd , for the integer field the data type appears as string but the corresponding content type is set to integer.
which is used to do validation of the data.
see the screenshot attached.
In order to create an integer field manually , you need to first select the data type as object , then from the Java wrapper select the corresponding java wrapper for integer i.e java.lang.Integer
Sorry for bothering on this.But if i manually create a field having datatype as Object and contenttype as java.lang.integer im not able to select that field when creating the decision table in rule project
And also for the xsd as per your comments when importing integer field from xsd , datatype appears as String and contenttype as java.lang.integer ,then should we manually change the integer fields after importing from xsd everytime before using the document as datamodel?Because we have many business rules mainly on the integer fields which requires >,< operators for the rule.
Not conent type , the corresponding Java wrapper type should be selected as java.lang.Integer.
Also when you change the document which is used as a data model , then you need to sync the data model from the Business Rules perspective.
To modify all the document types created from xsd , convert the fields which are defined as integer to integer in document types and then create the data model and decision tables.
Other option is to create an action which will do the comparison >,<,>=,<= and then returns the corresponding result. If you use this option then no need to modify the documents created from xsd.
Thank you very much :)I am able to successfully work and export projects to IS.
Now when i try to export to MWS-i get the below error in Designer:
āAn internal server error occurred. To resolve the problem please check the My webMethods Server logā
If the check the problems_log file in MWS,it shows the below:
/wm_rma/rest/content/projects
com.softwareag.rules.export.InternalException: javax.jcr.ItemNotFoundException: cannot read item /meta/default/wm_xt_fabricfolder/0000003175
at com.webMethods.caf.rules.rulepersistence.jcr.JackrabbitClient.getRuleProjectsFolder(JackrabbitClient.java:195)
at com.webMethods.caf.rules.rulepersistence.jcr.JackrabbitClient.getAllRuleProjectNames(JackrabbitClient.java:518)
at com.webMethods.caf.rules.rulepersistence.JcrAccessHandler.getAllProjectNames(JcrAccessHandler.java:203)
at com.webMethods.caf.rules.publicapi.RuleProjectWrapper.getAllProjectNames(RuleProjectWrapper.java:704)
Is there any additional configuration that needs to be done for exporting business rules to MWS?
Please verify , that the webMethods Business Rules is installed correctly for MWS.
And you are able to access the menu item Administration ā Business -->webMethods Business Rule.
If everything looks correct at MWS side , then verify the MWS respository connection from Designer.
go to Windows -->Preferences ā Software AG ā Business Rules ā My webMethods Server . make sure the connection details are correct. By default the RMI repository port is : 10999.
Try with user Administrator. If you are using other user then that user should be given proper access to upload the rules to MWS repository.
I can see webMethods Business Rules under Administrationā>Business->webMethods business rules,but not able to access it (i.e)not able to click and view it.
And in Designer i have configured the MWS with the MWS hostname and the port as 8585 in the path mentioned by you.(should this be the MWS port,or the RMI repository port).
Also is there any way we can check if the MWS repository server is set?.
Inside webMethods Business Rules Menu you should see welcome page. All the Rules project deployed comes under this entry.
You have to use the RMI repository port here , By default i will be 10999.
Try the above port , you should be able to export Rules project to MWS then.
I am not sure about this , Letās wait for other community members to comment.
May be the issue is with access , can you please check if user āAdministratorā has full access to Rules Projects.
login to MWS with sysadmin user , Navigate to Folders > My webMethods Applications > webMethods Application Data
There you will see Rules Projects, click on Tools ā Permission menu , edit the permission and grant all access to My webMethods Administrator role. Save it.
After giving the access try exporting the Rules project from Designer to MWS.
Log in as sysadmin to MWS. Go to: āAdministrative Folders > Administration
Dashboard > Configuration > CAF Application Runtime Configurationā.
Search the deployed applications for āwm_mws_configā.
Open the found application.
Click the āWeb Application > Environment Entriesā link.
There you will get all the port entries related to RMI. For exporting rules project we need to connect to rmiPort , default 10999.
Screenshot attached for reference.