2

我试图通过 ID 简单地“找到”一张 RTC 票,它告诉我 404 未找到。也许我应该用一些东西替换 _ggTXcJdTEeCznlnpJMXHdQ ?或爵士乐或 oslc 或上下文或http://purl.org/dc/terms/?我不知道什么是占位符,也不知道我应该从docs更改什么以针对我。

    public static void GetTicket(string credentials)
    {
        string localhost = "my.host.com";
        string WtId = "2494443"
        string item = "https://" + localhost + ":9443/jazz/oslc/contexts/_ggTXcJdTEeCznlnpJMXHdQ/workitems?" +
            "oslc.where=dcterms:identifier=%22" + WtId + "%22&" +
            "oslc.properties=dcterms:title,dcterms:identifier&" +
            "oslc.prefix=dcterms=%3Chttp://purl.org/dc/terms/%3E";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(item);
        request.Accept = "application/json";
        request.Headers.Add("Authorization", "Basic " + credentials);
        WebResponse response = request.GetResponse();
        // ... more stuff
    }
4

1 回答 1

3

您的代码来自您提到的文档的“查询功能”部分。

我确认,_ggTXcJdTEeCznlnpJMXHdQ示例的一部分,而不是预期在您自己的环境中工作的东西。

发现机制是关键:

客户端不应依赖特定的 URL 或对 URL 执行路径数学运算。相反,他们应该使用 RTC 提供的发现链。以下是查找变更管理功能的流程概述:

根文档在https://<server>:<port>/<app>/rootservices.
在典型的 RTC 测试平台中,这是https://localhost:9443/jazz/rootservices

rdf:about获取此文档并提取元素的变更管理目录 URL(由 指向)oslc:ServiceProviderCatalog

获取此 URL 后面的文档。它包含ServiceProvider指向包含实际服务描述的文档的元素列表。
对于 RTC,ServiceProvider每个项目区域都有一个元素。通常,应用程序将使用此元素的标题来允许用户在项目区域之间进行选择。

rdf:about获取element的属性指向的服务文档oslc:ServiceProvider
本文档包含对服务和操作的引用,例如:

  • 创建工厂创建新的工作项,
  • 允许查询工作项的查询功能,
  • 用于创建和选择工作项的委托 UI 对话框,以及
  • CLM 过滤器是对工作项的预定义查询。

只有遵循此发现路径,您才能获得用于工作项查询的实际 URL。

于 2020-04-08T20:58:47.977 回答