【问题标题】:Rally java rest API - Cannot parse object referenceRally java rest API - 无法解析对象引用
【发布时间】:2013-11-13 07:30:43
【问题描述】:

我正在尝试使用 Java 中的 Rally REST API 创建缺陷。

我插入缺陷的代码如下所示:

    JsonObject newDefect = new JsonObject();

    newDefect.addProperty("Workspace", workspaceRef);
    newDefect.addProperty("Project", projectRef);

    newDefect.addProperty("Name", d.name);
    newDefect.addProperty("Description", d.description);
    newDefect.addProperty("Notes", d.notes);
    newDefect.addProperty("Owner", getUserReference(restApi, d.owner));

    System.out.println("Creating defect: " + d.qcid + " - " + d.name);
    CreateRequest createRequest = new CreateRequest("defect", newDefect);
    CreateResponse createResponse = restApi.create(createRequest);

getUserReference 实现如下:

private String getUserReference(RallyRestApi restApi, String name) throws Exception
{
    // Read User
    QueryRequest userRequest = new QueryRequest("User");
    userRequest.setFetch(new Fetch("UserName", "Subscription", "DisplayName"));
    userRequest.setQueryFilter(new QueryFilter("UserName", "=", name));
    QueryResponse userQueryResponse = restApi.query(userRequest);
    JsonArray userQueryResults = userQueryResponse.getResults();
    JsonElement userQueryElement = userQueryResults.get(0);
    JsonObject userQueryObject = userQueryElement.getAsJsonObject();
    String userRef = userQueryObject.get("_ref").toString();
    return userRef;
}

问题:我收到用户错误“无法解析对象引用”。当我使用上面描述的实际名称 (user@domain.com) 或用户参考时,我会得到它。

我得到的当前错误是:无法解析来自“https://rally1.rallydev.com/slm/webservice/v2.0/user/14659049875”的对象引用

我做错了什么?

谢谢 阿萨夫

【问题讨论】:

    标签: java rest rally


    【解决方案1】:

    请使用 getAsString 方法而不是 toString。

    试试:

    String userRef = userQueryObject.get("_ref").getAsString();
    

    而不是

    String userRef = userQueryObject.get("_ref").toString();
    

    【讨论】:

      【解决方案2】:

      遇到了类似的问题, 设置旧版本的 WSAPI 帮助我解决了问题

      restApi = new RallyRestApi(new URI(rallyUrl), rallyUser, rallyPassword);
      restApi.setWsapiVersion("1.36");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-30
        • 1970-01-01
        • 2017-10-21
        • 2018-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多