I am developing a single RPC client written in Natural on mainframe that issue more calls to a simple RPC server written in Java on Unix system (the java implementation write the data on Oracle ).
I want to take the different calls in one single transaction and controlling it on the RPC Natural client.
It is possible ?
Do I have to use the Conversation explictly in the RPC Natural client code ?
How I can code it ?
Thank you for the answer.
Try to have a look at the SYSEXT routine USR2032N to control the commit from the natural environment.
Yes I have already tried the USR2032N routine but I cannot understand where in Java code I can receive the conversation informations.
I also tried with the server custom class (defined through the entirex.server.customclass property) which implement the ServerImplementation Interface which define a method called closeConversation but with no success (I didn’t see any call to this method).
My impression is that in Natural environment it exist the possibility to manage the conversion but in the Java RPC server the classes structure are not prepared to do the job.
Am I wrong ?
Oops you’re right - I have only used the conversational RPC against a Natural RPC-server, where this is pretty straight forward.
I just revisited the natural documentation and as far as I can see:
- Use the natural statement OPEN CONVERSATION
which will bind your natural session to one single Java-RPC server.
- Issue the different calls to that update
- make sure the last call calls a mathod that does the COMMIT in the java env.
- Then use the CLOSE CONVERSATION stament in natural to release the Java-RPC-server instance.
PS Any of the experts who have actuall tried this please correct me
In case your Java Server implementation class inherits from ServerImplementation it will get full control over the conversation handling. See http://techcommunity.softwareag.com/ecosystem/documentation/crossvision/eli/aci_java/com/softwareag/entirex/aci/ServerImplementation.html for details.