无法通过REST API更新RTC中的自定义属性

时间:2015-06-11 11:31:21

标签: c# xml rtc jazz oslc

我正在进行POC并手动将XML块发布到我们的RTC服务器。我已将内容类型标题设置为以下内容:

application/x-oslc-cm-change-request+xml

在测试中,我开始尝试修改票证的标题,即

<dc:title>my test title</dc:title>.  

这非常有效,所以我继续更新自定义属性,这就是我遇到问题的地方。

我很确定这是格式化但我找不到任何有帮助的例子。在这个例子中,我有一个'中'字符串类型的自定义属性。在我尝试过的XML中:

<rtc_cm:com.my.domain.bookingLabel>my new value</rtc_cm:com.my.domain.bookingLabel>

我发现了一个帖子似乎暗示可能会使用rtc_ext代替rtc_cm作为前缀。我也尝试了这个建议,但它没有任何影响。在post操作之后,不会生成任何错误并返回所有工作项信息,但此特定自定义属性保持不变。

我一直在为最初的POC工作的文档来自Jazz网站,涵盖OSLC v2:https://jazz.net/library/article/352

提前致谢!

1 个答案:

答案 0 :(得分:1)

在我原来的XML中,它使用了用于RTC v2 / OSCLC v1(https://jazz.net/library/article/352)的语言中列出的格式/方法,例如。

<dcterms:title>my title here</dcterms:title>

然而事情已经发生了变化,并且通过使用此线程中提供的新文档/指南(https://jazz.net/library/article/1001),我重新编写了XML。我首先使用GET方法获取工作项的详细信息(如本文所述),该工作项以RDF格式提供,您可以有效地编辑然后回发。然后我清除了开始和结束标记之间的所有内容,并为我的测试插入了一个自定义属性条目

...
<rdf:Description rdf:about="https://myserver:9100/jazz/resource/ItemName/com.ibm.team.workitem.WorkItem/12345">
   <rtc_ext:com.my.custom.attribute.BookingRef>my value here</rtc_ext:com.my.custom.attribute.BookingRef>
</rdf:Description>
...

在测试中,我通过Firefox的RESTClient插件在我的调用中使用了两个标头。 Content-Type = application / rdf + xml和Accept:application / rdf + xml(使用PUT动词)

瞧,我现在可以更改自定义属性的值。