It's all about the answers!

Ask a question

Exception during Project/Category synchro with CQ Connector


Adil Chahid (45524118) | asked Dec 11 '07, 4:49 p.m.
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



permanent link
John Vasta (2.6k15) | answered Dec 12 '07, 9:43 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
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,
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!

Your answer


Register or to post your answer.