仅通过Java / WebService API获取选定的属性

时间:2012-08-03 12:59:10

标签: java rally

使用Java应用程序和Rally WS API(XML)我想创建一个查询,它只返回对象HierarchicalRequirement的属性的子网站。

我写的是:

 QueryResult result = new QueryResult();
 result = service.query(ws, resultType, query, null, false, 0, 100);

其中resultType = HierarchicalRequirement e query是

  

(Project.Name =“Sample Project”)&取= “名称,FormattedID”

我做错了什么或者它不是支持的功能?

由于

1 个答案:

答案 0 :(得分:0)

SOAP与REST的工作方式略有不同,因为没有Fetch参数。它要么将Rally返回的对象与其数据字段完全水合,要么完全没有。查询的函数原型如下所示:

    queryResult = rallyService.query(workspace, artifactType, queryString, order, 
                    fetchFullObjects, start, pageSize);

因此,在您的查询中,您为fetchFullObjects指定了“false”。这在数据传输方面肯定更有效,因为您只获取Object shell。如果你想用数据来保存特定的返回对象,你可以在它上面做一个额外的service.read(),即

    DomainObject myObject = (DomainObject) queryResult.Results[0];
    DomainObject myFullObject = service.read(myObject);

或者,您可以设置fetchFullObject = true;,确认在序列化并返回给客户的数据量方面会对性能产生影响。

从那里,您可以使用对象的get方法从其字段中提取数据。