Why are some of our messages in CA .NET server functions throwing error messages after upgrading to CA Plex r7.2.1?

Document ID : KB000004691
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

We have our system in production with Plex 6.1. We upgraded our group models to Plex 7.2.1 and we have genned/built our Client functions for WinC. We have NOT rebuilt the server functions (documentation indicates this is not required). The developers are in the process of testing our system with the rebuilt WinC Plex 7.2.1 functions. 

Our server functions (deployed as .NET Server) make use of Dialog Messages and Log Messages. When testing the 7.2.1 upgrade, we found that the server functions making use of the Dialog Message and Log Message were ending abnormally. 

I checked the .NET listener log and saw that the affected server functions are being showing this log message text: 10/26/2016 12:52:58 PM Type=0 [PLEX9999] Method not found: 'Void ObRun.ObMain.ObApplication.logx(System.String, System.Object[], Int32)'. 

I researched the 'Void ObRun.ObMain.ObApplication.logx(System.String, System.Object[], Int32)' method in Plex.ObRun.dll (using Visual Studio 2013); comparing the one in the Plex 6.1 runtime versus the Plex 7.2.1 runtime. I saw that the Plex 7.2.1 runtime returns an int rather than Void. So to avoid regenning/building our .NET Server functions, we will need the "...logx" methods to include the overloads that returned Void (like they do in Plex 6.1 version of Plex.ObRun.dll).

Cause:

In the Plex .Net runtime, the method signature logx(System.String, System.Object[], Int32) has been changed from Plex 7.0 version forward. As you identified in 6.1 its return type is void and from 7.0 forward it is int. 

Beginning with CA Plex release 7.0 and forward, the reason for changing the method signature was we have included .Net client (WPF) as well. To make it work for both server and client we had to change the method signature. Currently we cannot alter this as that change would break all the applications with latest versions of Plex. 

Resolution:

Regenerate and rebuild .Net server functions in CA Plex r7.2.1 to resolve this problem.