Exception during Project/Category synchro with CQ Connector
Hi all,
We were unfortunatly not able to run the synchronisation process between the DefectTrackingInteropSchema and a Jazz project (based on the Eclipse way process). At first, we had problems with credentials for the Synchornizer user: this led us to remove all the J2EE security from the WebSpere Application Server. We also stopped using the https connection. The User synchronization works perfectly (even accessing a https Jazz server) The Project synchronization always completes with the following error: D:\Java\jazz\connectors\gateway>synctool.bat -Dcq.recordType=Project Running SyncTool... log4j:WARN No appenders could be found for logger (org.apache.commons.httpclient.params.DefaultHttpParams). log4j:WARN Please initialize the log4j system properly. Trying to log in to http://TeamConcertConnector:password@sael0109.sae/jazz ... Successfully logged in. Synching Projects... java.lang.NullPointerException at com.ibm.rational.connector.cq.synctools.SyncTool.synchronizeObject(SyncTool.java:339) at com.ibm.rational.connector.cq.synctools.SyncTool.synchronizeBySyncRule(SyncTool.java:261) at com.ibm.rational.connector.cq.synctools.SyncTool.beginSync(SyncTool.java:231) at com.ibm.rational.connector.cq.synctools.SyncTool.start(SyncTool.java:75) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447) at org.eclipse.equinox.launcher.Main.run(Main.java:1173) at org.eclipse.equinox.launcher.Main.main(Main.java:1148) We did enable the verbose at the Jazz server level to try to understand what is the problem by adding the following lines to our log4j.properties file: log4j.logger.com.ibm.team.interop=DEBUG log4j.logger.com.ibm.team.interop.service.outgoingSyncJob=DEBUG log4j.logger.com.ibm.team.interop.service.incomingSyncJob=DEBUG And here's what we found: 0000003c SystemOut O 16:31:59,901 DEBUG com.ibm.team.interop - ExternalProxy : Attempting incoming sync 0000003c SystemOut O 16:32:00,031 DEBUG com.ibm.team.interop - ExternalProxy : Completed incoming sync; updating proxy state 0000003c SystemOut O 16:32:00,053 ERROR com.ibm.team.interop - Exception during sync processing com.ibm.team.repository.common.TeamRepositoryException: External URI and target item are linked to different proxies at com.ibm.team.interop.service.internal.InteropService.doSaveProxy(InteropService.java:2113) at com.ibm.team.interop.service.internal.InteropService.processIncoming(InteropService.java:1495) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:324) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:316) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$1.invoke(ExportProxyServiceRecord.java:106) at $Proxy118.processIncoming(Unknown Source) at com.ibm.team.interop.service.internal.ProxySyncTask.processRequestQueue(ProxySyncTask.java:306) at com.ibm.team.interop.service.internal.ProxySyncTask.transactionSucceeded(ProxySyncTask.java:201) at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.transactionSucceeded(AsynchronousTaskSchedulerService.java:442) at com.ibm.team.repository.service.internal.AsynchronousTaskSchedulerService$2.executeTask(AsynchronousTaskSchedulerService.java:450) at com.ibm.team.repository.service.internal.scheduler.InstrumentedAsynchronousTask.executeTask(InstrumentedAsynchronousTask.java:63) at com.ibm.team.repository.service.internal.scheduler.AsynchronousTaskRunner.run(AsynchronousTaskRunner.java:147) at java.lang.Thread.run(Thread.java:799) I think that this error is related with the fact that we did change the Jazz Server host information in the cqconnector.properties file from https to http. It seems that it still records the old entry and complains about it. Is there a way to reset the status of the synchronized objects without actually deleting them? Thanks! |
One answer
Changing the Jazz server host name in the cqconnector.properties file shouldn't cause a problem like this, but if you've made other changes and tried several synchronization attempts, you could get into a bad state. You can clear out all the synchronization metadata for the Project record type by deleting the synchronization rule for that type, then re-importing it. Go to the Synchronization Rules view, right-click on the rule that ends with "sample_schema_repo.Project" and choose "Delete...". You'll be warned that all synchronization information will be deleted, which is what you want to do, so click OK. Then re-import the Category-Project.xml file from the /jazz/connectors/gateway/syncRules directory, as you did in the initial setup. Then try running synctool for the Project record type again.
John Hi all, |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.