我一直在尝试使用 VersionOne.SDK.Java.APIClient 在 V1 上查询特定 Assets (故事/缺陷)来检索信息。我能够检索故事或缺陷下的 ID.Number
、Status.Name 等信息,但无法检索 Requests.Custom_SFDCChangeReqID2
。
我检查元数据:
https://.../Story?xsl=api.xsl
https://.../meta.V1/Defect?xsl=api.xsl
https://.../meta.V1/Request?xsl=api.xsl
命名和信息看起来正确。
这是我的代码:
IAssetType type = metaModel.getAssetType("Story");
IAttributeDefinition requestCRIDAttribute = type.getAttributeDefinition("Requests.Custom_SFDCChangeReqID2");
IAttributeDefinition idNumberAttribute = type.getAttributeDefinition("ID.Number")
Query query = new Query(type);
query.getSelection().add(requestCRIDAttribute);
query.getSelection().add(idNumberAttribute);
Asset[] results = v1Api.retrieve(query).getAssets();
String RequestCRID= result.getAttribute(requestCRIDAttribute).getValue().toString();
String IdNumber= result.getAttribute(idNumberAttribute).getValue().toString();
此时,我可以获得 ID.Number 的一些值,但无法检索值 Custom_SFDCChangeReqID2
的任何信息。
当我从服务器的角度运行静态查询以使用浏览器检索信息时,它可以工作并且确实检索了我正在查找的信息。我使用了这个语法:
https://.../rest-1.v1/Data/Story?sel=Number,ID,Story.Requests.Custom_SFDCChangeReqID2,Story .
最佳答案
Alex:请记住,结果是 Assets 的数组,所以我想您应该使用类似的方法来访问信息 String RequestCRID= 结果[0].getAttribute(requestCRIDAttribute).getValue().toString(); String IdNumber= 结果[0].getAttribute(idNumberAttribute).getValue().toString(); 或迭代数组。 另请注意,您已经定义了: Assets [] 结果而不是结果
关于java - 无法使用 versionone java sdk 检索投影/多重关系字段 Requests.Custom_SFDCChangeReqID2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30129237/