If you read my note to Bernd in my other post, I got it to work by changing the deployment descriptor in both projects. Then the binding service worked magically. That's another part of why I love EGL so much. The line below just says "I want to call a service named CallIBMiService, and we'll figure out how to call it when we generate the code". Moving forward, I probably won't ever have to create another service, I'll just add more functions inside of the single CallIBMiService service.
CallIBMiService CallIBMiService {@bindService};
------------------------------
Joe Pluta
------------------------------
Original Message:
Sent: Mon April 17, 2023 01:41 PM
From: Dev Banerjee
Subject: Beginning EGL Project Development - Tomcat 8.5 - Successful Setup
Hi Joe,
I have little experience in the actual scenario that you are using, and would like to set one up and test myself.
But I was thinking if the following link which takes about session cookies will help in your case. Never mind the RBD version number.
https://www.ibm.com/docs/en/rbd/9.5.1.1?topic=service-declaring-variable-access-rest
------------------------------
Dev Banerjee
RBD Development
Original Message:
Sent: Sat April 15, 2023 02:29 PM
From: Joe Pluta
Subject: Beginning EGL Project Development - Tomcat 8.5 - Successful Setup
With a lot of help from this list and from HCL, I have the final recap on what was required to get a simple RUI project talking to an ILE RPG program on the IBM i.
1. Add the correct logging JARs to your Tomcat installation. RBD 9.7 expects version 1.2 of logging. Add commons-logging-1.2,jar and commons-logging-1.2-javadoc.jar to the lib folder in your base Apache Tomcat installation. If you don't, you get ClassNotFoundException errors for Apache logging classes.
2. Be sure to set the port in Window > Preferences > EGL > Service to 8080 (the default port for Tomcat). If you don't, you'll get connection refused errors.
3. Make sure you set up the appropriate callLink element(s) in the build descriptor of your web project, and also that you specify the callLink setting in your build options (I didn't do that last part). If you don't, you will get an EGL0006E error due to ClassNotFoundException for your program name.
After following all those little tweaks, I am now successfully calling an ILE RPG program (many, actually!) from a RUI application. The ILE RPG is also available as a web service, which is one of the things I love most about EGL: the ability to expose the same business logic in various ways. I found a couple of other things which I'll outline in other posts, but I just wanted to thank everyone for their efforts, and also to make sure I documented everything for anyone else trying this.
------------------------------
Joe Pluta
------------------------------