One of mainframe program which is used as a web service, its input output parameters are changed. I generated xmm file from corresponding IDL file using Entirex workbench. When I tried to test the program it gave me Broker error 1014 0935: Natural RPC errors. I checked with my Mainframe team they said they did the changes correctly and getting output from program correctly. What could be the problem here? Will the problem persist even after reregistration of service?
Please look into the EntireX Error Message manual:
1014nnnn Natural System Errors, see the Natural documentation under NATnnnn. You can display the corresponding Natural System error and explanation if you log on to a Natural Session and enter HELPnnnn in the command line.
If you go into the Natural Documentation you will find
“Conflicting number of parameters.”
- The number of parameters specified in a CALLNAT/SEND METHOD statement does not match the number of parameters defined in the
DEFINE DATA PARAMETER statement of the called module. - The number of parameters specified in an INPUT USING MAP statement
does not match the number of parameters generated by the Natural
map editor. Use ‘free mode’ or include the INPUT USING MAP prototype instruction in your program."
The first reason doese make sense: The number of parameters in the IDL (where you created the xmm from) and the Natural program are different.
Another reason you may be having a conflict is that the RPC Server is still referencing the prior version of the subprogram. The specfic fix will depend on your installation: if you are using a Natural RPC Server with a local buffer pool, you will need to flush that pool (you can use a SYSEXT API routine to do that interactively) or simply stop and restart the Natural RPC Server. If the RPC Server is using a Global Buffer Pool, then the mainframe folks will need to use SYSBPM to flush the old version from the cache.