It's all about the answers!

Ask a question

CQ outbound sync error


Gary Dang (59328552) | asked Jan 22 '08, 11:39 p.m.
Getting this error during outbound synchronization to CQ. Any idea?

Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: Property 'requiredness' not requested.

8 answers



permanent link
Gary Dang (59328552) | answered Jan 22 '08, 11:46 p.m.
Also, in the property mapping dialog, there is the Advanced tab where you can specify required item and external properties using checkboxes. What is this for? I tried selecting the checkboxes but the selection goes away even after I click OK and come back in.

permanent link
John Vasta (2.6k15) | answered Jan 23 '08, 10:44 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
Getting this error during outbound synchronization to CQ. Any idea?

Error occurred:
java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: Property 'requiredness' not requested.


Just a guess at this point: you recently added a mapping for the record_type property, right? If so, check whether the "Synchronize outgoing" option is checked for that mapping - if so, uncheck it. You can't set the record type of a CQ record; it is a read-only property. This error may have something to do with trying to set a read-only field.

John
ClearQuest Connector Team

permanent link
John Vasta (2.6k15) | answered Jan 23 '08, 10:52 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
Also, in the property mapping dialog, there is the Advanced tab where you can specify required item and external properties using checkboxes. What is this for? I tried selecting the checkboxes but the selection goes away even after I click OK and come back in.


The Advanced tab is used to declare that the computation of a property depends on the values of other properties (so they must be computed first). It is only used if a particular value transformer has such dependencies. At this point, only WorkflowActionValueTransformer has any dependencies - the JazzWorkFlowAction property depends on the StateResolution property. You normally wouldn't use this - it's only if there are ambiguous state transitions in your Jazz work flow (i.e. more than one action transitions between the same two states).

John
ClearQuest Connector Team

permanent link
Gary Dang (59328552) | answered Jan 23 '08, 12:24 p.m.
John,

I did have outgoing sync flag checked for the record type rule. I unchecked it and restarted all services but still get the requiredness error. I actually also cutdown the nunber of outgoing sync to a bare minimum (see XML at the end) but still have error.

The complete dump on the gateway screen is:

'requiredness' property-not-requested: Property 'requiredness' not requested.
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.realEx
ception(StpPropertyExceptionImpl.java:138)
at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.<init>(StpExce
ptionImpl.java:496)
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.<init>
(StpPropertyExceptionImpl.java:76)
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.<init>
(StpPropertyExceptionImpl.java:64)
at com.ibm.rational.stp.cs.internal.protocol.PropMap.newNotRequestedExce
ption(PropMap.java:127)
at com.ibm.rational.stp.cs.internal.protocol.PropMap.valueOf(PropMap.jav
a:81)
at com.ibm.rational.stp.cs.internal.protocol.Property.getMetaProperty(Pr
operty.java:138)
at com.ibm.rational.stp.client.internal.cq.FieldValue.getMetaProperty(Fi
eldValue.java:994)
at com.ibm.rational.stp.cs.internal.protocol.Property.getMetaProperty(Pr
operty.java:119)
at com.ibm.rational.stp.client.internal.cq.FieldValue.getRequiredness(Fi
eldValue.java:124)
at com.ibm.rational.connector.cq.common.cqgateway.internal.CqRecordForIn
terop.readOnly(CqRecordForInterop.java:152)
at com.ibm.rational.connector.cq.common.cqgateway.internal.CqRecordForIn
terop.setObjectState(CqRecordForInterop.java:346)
at com.ibm.rational.connector.cq.common.cqgateway.CQInteropEventHandler.
handleUpdateEvent(CQInteropEventHandler.java:385)
at com.ibm.rational.connector.cq.common.cqgateway.CQGateway.update(CQGat
eway.java:156)
at com.ibm.rational.connector.cq.gateway.servlet.InteropOperationInvoker
.invoke(InteropOperationInvoker.java:53)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPostIn
teropOperation(InteropServlet.java:57)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPost(I
nteropServlet.java:202)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:801)
Got an InteropException: Property 'requiredness' not requested.
'requiredness' property-not-requested: Property 'requiredness' not requested.
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.realEx
ception(StpPropertyExceptionImpl.java:138)
at com.ibm.rational.stp.cs.internal.util.StpExceptionImpl.<init>(StpExce
ptionImpl.java:496)
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.<init>
(StpPropertyExceptionImpl.java:76)
at com.ibm.rational.stp.cs.internal.util.StpPropertyExceptionImpl.<init>
(StpPropertyExceptionImpl.java:64)
at com.ibm.rational.stp.cs.internal.protocol.PropMap.newNotRequestedExce
ption(PropMap.java:127)
at com.ibm.rational.stp.cs.internal.protocol.PropMap.valueOf(PropMap.jav
a:81)
at com.ibm.rational.stp.cs.internal.protocol.Property.getMetaProperty(Pr
operty.java:138)
at com.ibm.rational.stp.client.internal.cq.FieldValue.getMetaProperty(Fi
eldValue.java:994)
at com.ibm.rational.stp.cs.internal.protocol.Property.getMetaProperty(Pr
operty.java:119)
at com.ibm.rational.stp.client.internal.cq.FieldValue.getRequiredness(Fi
eldValue.java:124)
at com.ibm.rational.connector.cq.common.cqgateway.internal.CqRecordForIn
terop.readOnly(CqRecordForInterop.java:152)
at com.ibm.rational.connector.cq.common.cqgateway.internal.CqRecordForIn
terop.setObjectState(CqRecordForInterop.java:346)
at com.ibm.rational.connector.cq.common.cqgateway.CQInteropEventHandler.
handleUpdateEvent(CQInteropEventHandler.java:385)
at com.ibm.rational.connector.cq.common.cqgateway.CQGateway.update(CQGat
eway.java:156)
at com.ibm.rational.connector.cq.gateway.servlet.InteropOperationInvoker
.invoke(InteropOperationInvoker.java:53)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPostIn
teropOperation(InteropServlet.java:57)
at com.ibm.rational.connector.cq.gateway.servlet.InteropServlet.doPost(I
nteropServlet.java:202)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
at java.lang.Thread.run(Thread.java:801)
Got an InteropException: Property 'requiredness' not requested.


Sync rule

<?xml version="1.0" encoding="UTF-8"?>
<syncRule>
<name>com.accenture.clearquest.IDC70.ADT_Defect</name>
<externalTypeName>com.ibm.rational.clearquest.IDC70.ADT_Defect</externalTypeName>
<syncItemTypeName>WorkItem</syncItemTypeName>
<syncItemTypeNsURI>com.ibm.team.workitem</syncItemTypeNsURI>
<itemManager>com.ibm.team.interop.service.managers.workitem.WorkItemManager</itemManager>
<externalManager>com.ibm.team.interop.service.managers.clearquest.CQExternalManagerForUser</externalManager>
<maxCycleCount>10</maxCycleCount>
<syncAllItemStates>true</syncAllItemStates>
<propertyMappings>
<propertyMapping>
<externalPropertyName>Adt_Project_Name</externalPropertyName>
<itemPropertyName>Category</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
<transformExtension>com.ibm.team.interop.service.managers.workitem.CategoryValueTransformer</transformExtension>
<referenceSyncRule>com.accenture.clearquest.IDC70.ADT_Defect</referenceSyncRule>
<valueMappings>
<valueMapping>
<externalValue>adtarch_test</externalValue>
<itemValue>adtarch_test</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Description</externalPropertyName>
<itemPropertyName>Description</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Owner</externalPropertyName>
<itemPropertyName>Owner</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
<referenceSyncRule>com.accenture.clearquest.IDC70.users</referenceSyncRule>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Adt_Defect_Priority</externalPropertyName>
<itemPropertyName>Priority</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
<valueMappings>
<valueMapping>
<externalValue>1 - Critical</externalValue>
<itemValue>High</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
<valueMapping>
<externalValue>2 - High</externalValue>
<itemValue>High</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
<valueMapping>
<externalValue>3 - Medium</externalValue>
<itemValue>Medium</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
<valueMapping>
<externalValue>4 - Low</externalValue>
<itemValue>Low</itemValue>
<defaultExternalValue>false</defaultExternalValue>
<defaultItemValue>false</defaultItemValue>
</valueMapping>
</valueMappings>
</propertyMapping>
<propertyMapping>
<externalPropertyName>Headline</externalPropertyName>
<itemPropertyName>Summary</itemPropertyName>
<incoming>true</incoming>
<outgoing>true</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>id</externalPropertyName>
<itemPropertyName>Tags</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>true</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
<propertyMapping>
<externalPropertyName>record_type</externalPropertyName>
<itemPropertyName>Type</itemPropertyName>
<incoming>true</incoming>
<outgoing>false</outgoing>
<itemIdentifier>false</itemIdentifier>
<externalIdentifier>false</externalIdentifier>
<externalModifier>false</externalModifier>
<requiredItemProperties></requiredItemProperties>
<requiredExternalProperties></requiredExternalProperties>
</propertyMapping>
</propertyMappings>
</syncRule>

permanent link
Gary Dang (59328552) | answered Jan 23 '08, 12:27 p.m.
I removed the record type mapping and it works. Crap. I need the record type mapping though. HELP!!!!

permanent link
John Vasta (2.6k15) | answered Jan 23 '08, 1:00 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Gary, we'll track this issue in this work item:

https://jazz.net/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/42201

John
ClearQuest Connector Team

I removed the record type mapping and it works. *. I need the record type mapping though. HELP!!!!

permanent link
Clement Liu (1.5k54249) | answered Sep 23 '09, 10:13 a.m.
We've got the following error when trying the sync from RTC to CQ:

java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: CRRTC4603E
And it says something like the fields in the ClearQuest might have dependencies and they might end up reference each other in a loop. It also prints out a bunch of CQ fileds affected.

I learn from RTC doc that I should modify the cqconnector.properties and add "cq.orderedProperties.record-type = field1, field2....". I tried and didn't work out

Did I do something wrong. What I did is just to put the bunch of CQ fileds contained in the error message in order and set them to "cq.orderedProperties.record-type". Is this right? Thanks.

permanent link
Richard Piazza (381) | answered Sep 23 '09, 1:03 p.m.
JAZZ DEVELOPER
We've got the following error when trying the sync from RTC to CQ:

java.lang.RuntimeException: com.ibm.team.interop.service.managers.clearquest.common.InteropException: CRRTC4603E
And it says something like the fields in the ClearQuest might have dependencies and they might end up reference each other in a loop. It also prints out a bunch of CQ fileds affected.


Ideally, you should investigate the listed fields in the CQ designer. Their web dependencies are circular, which is probably not what was wanted.

I learn from RTC doc that I should modify the cqconnector.properties and add "cq.orderedProperties.record-type = field1, field2....". I tried and didn't work out

Did I do something wrong. What I did is just to put the bunch of CQ fileds contained in the error message in order and set them to "cq.orderedProperties.record-type". Is this right? Thanks.


If for some reason, you can't fix the CQ web dependencies, this property in the cqconnector.properties file enables you specify the order explicitly.

For the record type you need to specify the order in which all of the fields should be assigned, not just the ones listed in the error message. Also, replace record-type with the name of the record type with the problem.

Your answer


Register or to post your answer.