Rest RSA Archer API资源和内容澄清

Rest RSA Archer API资源和内容澄清,rest,security,soap,archer,Rest,Security,Soap,Archer,我可以访问RSA REST和基于WSDL的API。他们的文档涉及内容和资源。然而,当登录到实际的工具时,我可以访问事件通知单之类的东西 事件票证上的INC-1234将是一个字符串。但API在按ID进行搜索时,对内容或资源都采用整数值 self.wsdl['search'].service.SearchRecordsByReport( sessionToken=self.token, reportIdOrGuid=14,

我可以访问RSA REST和基于WSDL的API。他们的文档涉及内容和资源。然而,当登录到实际的工具时,我可以访问事件通知单之类的东西

事件票证上的INC-1234将是一个字符串。但API在按ID进行搜索时,对内容或资源都采用整数值

self.wsdl['search'].service.SearchRecordsByReport(
                sessionToken=self.token,
                reportIdOrGuid=14,
                pageNumber=1
)
如果我不提供一个整数,我会得到一个404和一个简单的 “消息”:“请求无效。”在其余部分中 如果我在SOAP中传递一个这样的值,事情会变得更复杂一些

因此,问题1。是否有一个RSA资源可以将API中调用的关系与我在UI中处理的对象的实际名称进行关联/解密


问题2。有没有一个代码库是有人创建/修改过rsa事件记录单的?

如果您要获取记录内容ID,可以通过两种方式获取它,在GUI中将鼠标悬停在您的键字段(可单击的链接)上,在archer的左下角将显示类似于“123456 | 100 | 17”的内容其中第一个集合是该记录的contentID


如果您正在谈论获取reportID(如上所示的14),那么当您转到主报告列表时,也可以执行相同的操作,它将显示在浏览器的右下角

如果您想从代码中完成这一切,我通常会这样将其拼凑起来:

  • 执行对报告的搜索;从报告中获取字段ID(确保报告GUI中包含您的键字段可能很重要,这样您就能够识别您正在处理的记录);进行另一个API调用(可能是REST,因为它确实处理元数据)以获取字段名等(或者您可以将其全部设置为静态,只需使用相应的GUID硬编码字段名)
  • 在标记中,可以挂起contentID属性。然后下一步比较与您的keyfield匹配的field标记,您将获得该记录的contentID
  • 进行记录更新、删除等任何需要执行的操作

  • 如果您正在寻找一个特定的报告ID,请进行REST调用以获取所有报告,它将返回报告名称和ID,然后继续您的业务进行其他调用

    如果要获取记录contentID,可以通过两种方式获取,在GUI中将鼠标悬停在关键字段(可单击的链接)上,在archer的左下角将显示类似于“123456 | 100 | 17”的内容,其中第一组是该记录的contentID


    如果您正在谈论获取reportID(如上所示的14),那么当您转到主报告列表时,也可以执行相同的操作,它将显示在浏览器的右下角

    如果您想从代码中完成这一切,我通常会这样将其拼凑起来:

  • 执行对报告的搜索;从报告中获取字段ID(确保报告GUI中包含您的键字段可能很重要,这样您就能够识别您正在处理的记录);进行另一个API调用(可能是REST,因为它确实处理元数据)以获取字段名等(或者您可以将其全部设置为静态,只需使用相应的GUID硬编码字段名)
  • 在标记中,可以挂起contentID属性。然后下一步比较与您的keyfield匹配的field标记,您将获得该记录的contentID
  • 进行记录更新、删除等任何需要执行的操作

  • 如果您正在寻找一个特定的报告ID,请进行REST调用以获取所有报告,它将返回报告名称和ID,然后继续您的业务进行其他调用

    我最近遇到了类似的情况,我必须使用Archer的API搜索字段值(例如“INC-1234”)

    那么,对于你的问题1: 我发现适合我的需求的方法是“ExecutequickSearchWithModuleId”,它可以搜索一个值并提供所有具有这些值的ContentId(给定ModuleId)

    
    ABC123ABC123ABC123ABC123ABC123ABC1
    123
    INC-1234
    9999999
    9999999
    
    对于你的问题2,我找到了一个丰富的Python3库


    希望这能帮助解决这个问题的人。

    我最近遇到过类似的情况,我必须使用Archer的API搜索字段值(例如“INC-1234”)

    那么,对于你的问题1: 我发现适合我的需求的方法是“ExecutequickSearchWithModuleId”,它可以搜索一个值并提供所有具有这些值的ContentId(给定ModuleId)

    
    ABC123ABC123ABC123ABC123ABC123ABC1
    123
    INC-1234
    9999999
    9999999
    
    对于你的问题2,我找到了一个丰富的Python3库

    希望这有助于解决这个问题的人

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <ExecuteQuickSearchWithModuleIds xmlns="http://archer-tech.com/webservices/">
          <sessionToken>ABC123ABC123ABC123ABC123ABC1</sessionToken>
          <moduleIds>123</moduleIds>
          <keywords>INC-1234</keywords>
          <pageNumber>9999999</pageNumber>
          <pageSize>9999999</pageSize>
        </ExecuteQuickSearchWithModuleIds>
    </soap:Body>
    </soap:Envelope>