RTC Plain Java Client incompatibility
Hi,
We've just upgraded RTC server from 6.0 to 6.0.1. We've developed custom tooling based on Plain Java Client library 6.0. When running our custom tool, we get the following message "Caused by: com.ibm.team.repository.common.TeamRepositoryException: CRJAZ1241W The following model has a version mismatch: com.ibm.team.scm. The server version is 0.48 and the client version is 0.47. The client and server version must match. To check the overall version of the client, click Help > About and verify that the client is compatible with server version 6.0.1 and build ID RJF-I20151106-1823".
Is there a parameter or variable that allows backward compatibility ?
Regards,
Ghyslain
We've just upgraded RTC server from 6.0 to 6.0.1. We've developed custom tooling based on Plain Java Client library 6.0. When running our custom tool, we get the following message "Caused by: com.ibm.team.repository.common.TeamRepositoryException: CRJAZ1241W The following model has a version mismatch: com.ibm.team.scm. The server version is 0.48 and the client version is 0.47. The client and server version must match. To check the overall version of the client, click Help > About and verify that the client is compatible with server version 6.0.1 and build ID RJF-I20151106-1823".
Is there a parameter or variable that allows backward compatibility ?
Regards,
Ghyslain
2 answers
In general it should be possible to use a 6.0.0 Plain Java Client Libraries against a 6.0.1 server. See https://rsjazz.wordpress.com/2013/07/09/new-version-and-now-experiences-with-sdk-and-plain-java-api-across-tool-versions/
I just did exactly that and it works for me. Please make sure that you have actually downloaded the plain Java Client Libraries for 6.0 and set it up to be included in the classpath as well. Make sure not to have the plain java client libraries for a 4.x or 3.x to be in the classpath.
I just did exactly that and it works for me. Please make sure that you have actually downloaded the plain Java Client Libraries for 6.0 and set it up to be included in the classpath as well. Make sure not to have the plain java client libraries for a 4.x or 3.x to be in the classpath.
Hi,
I am working on the issue raised by Ghyslain.
The error happens when calling the method
IWorkspaceConnection com.ibm.team.scm.client.IWorkspaceManager.createStream(IProcessAreaHandle arg0, String arg1, String arg2, IProgressMonitor arg3) throws TeamRepositoryException
Is there a way to tell IWorkspaceManager not to check for the server version.
Furthermore, the error message tells "The server version is 0.48 and the client version is 0.47." What is the related RTC server version (4.x.x, 5.x.x or 6.x.x) corresponding to 0.47 ?
Finally the application worked correctly with RTC server 6.0. If we had a library 4.x or 3.x in the classpath should not the error have already appeared when working with RTC server 6.0 ?
Regard
Òscar
Comments
This is very strange, really. If you try a 6.0 client against say a 4.0.3 server the error message shows the correct version numbers and not the numbers 0.48/0.47. So I can't really tell which versions the above ones correspond to. (Might be internal SCM metamodel versions).
The API checks if it can run, so I don't think you can do anything about this.
PS: I create a stream when setting up the RTC Extensions workspace. I likely use the same or a similar API. If I run it with a matching version 6.0 against 6.0 6.0.1 against 6.0.1 the stream creation works. Maybe there s something else wrong in your call that causes this odd message?