Open4GLException Issue with 10.2b progress.jar

chrisw669

New Member
I'm a sx.enterprise user with the sxapi and have used it for many years. Recently, we upgraded to progress 10.2b and I wanted to start creating some new features for Java to use that the sxapi doesn't have. To gain access to the javaproxy classes, I replaced the progress.jar (version 9.1E02) with the newer progress.jar (version 10.2B) and I get an exception when calling:
Code:
ApiAppObj sxapiWorker = new ApiAppObj();

Here's the exception:
Code:
com.progress.open4gl.Open4GLException: Error accessing message #7665970990714723421.
        at com.nxtrend.sxapi.proxy.ApiAppObjImpl.<init>(ApiAppObjImpl.java:54)
        at com.nxtrend.sxapi.proxy.ApiAppObj.<init>(ApiAppObj.java:56)

I've searched for the error but the only thing I found is related to the admin server not starting. http://knowledgebase.progress.com/articles/Article/000031274

It doesn't feel like a progress issue since I can use the native progress classes (without sxapi) and things work without error.

This works:
Code:
Connection myConn = new Connection("AppServerDC://192.168.10.119:7191","","","");
myConn.setSessionModel(1);
OpenAppObject dynAO = new OpenAppObject(myConn, "testappsrv");

ParamArray parms = new ParamArray(2);
parms.addCharacter(0, "1234", ParamArrayMode.INPUT);
parms.addCharacter(1, null, ParamArrayMode.OUTPUT);

dynAO.runProc("sayHi.r", parms);

String retVal = (String) parms.getOutputParameter(1);

dynAO._release();
myConn.releaseConnection();

Soon as I put back the old progress.jar the "new ApiAppObj()" invocation works without exception.
 
Turns out this is a problem with the sxapi and openedge 10. Upgrading to the sxapi2.jar and a rewrite to all my instances (to be done) that call the old one has things working again. Not sure the root cause of the compatibility issue.
 
Just out of curiosity: As far as I know the Java Open Client has been introduced with OE10 - it has not been there in 9.1E. If I remember correctly there was a so-called toolkit available for some time but that was more targeted to beta testers and probably never meant to be used in production. Therefore I am absolutely not surprised that whatever did work in 9.1E did not work with any OE10 ...

The code that you post as working utilizes the Java Open Client API ...
Heavy Regards, RealHeavyDude.
 
Back
Top