【问题标题】:Consuming REST servce from PEGA 7 with HTTP Header parameter使用 HTTP Header 参数从 PEGA 7 使用 REST 服务
【发布时间】:2014-08-19 19:23:13
【问题描述】:

我不是 PEGA 开发人员。但这个问题适用于任何 PEGA 开发人员/管理员。这是我最近在尝试将我的应用程序(使用 REST 服务)与 PEGA 7 集成时注意到的一个问题。

我从我的应用程序创建了一个 REST 服务并使用 OAuth 2.0 身份验证托管它。 PEGA 应用程序必须使用我的服务。

为了测试从 PEGA 到我的应用程序的连接性,我自己创建了一个 OAuth 令牌并与 PEGA 开发人员共享该令牌,要求他们通过跳过授权调用直接调用我的服务。

使用任何 REST 测试工具,例如 Chrome 的 REST 控制台、APIgee 等,我只需将 http-header 参数作为 [参数名称:授权和参数值:OAuth] 传递,就可以测试我的 REST 服务。

但 PEGA 在直接提供 http-header 参数以从 PEGA PRPC 应用程序测试我的服务时遇到问题。

我对 PEGA 开发人员/管理员的问题是,

  • PEGA 很难在 http 调用中添加标头参数
  • 应要求,当开发人员尝试从 PEGA 测试我的服务时,与我共享了 PEGA 屏幕。在此期间,我注意到 PEGA 没有任何跟踪日志 捕获生成的确切 http 请求。我们真的看不到从 REST 连接器工具生成的 http 请求(标头/正文)吗?

【问题讨论】:

    标签: web-services rest oauth http-headers pega


    【解决方案1】:

    您可以使用 Tool Fiddler 查看 Pega 调用您的服务的具体内容。

    对于 OAuth Authentication ,确保 Pega Authentication Profile 设置为 OAuth 并且正确提取了令牌。

    Fiddler 会帮你看看发生了什么。

    【讨论】:

      【解决方案2】:

      添加header参数比较简单。要从 PEGA 中的 REST API 获取信息,您需要定义一个 Connect-REST 规则。可悲的是,我没有足够的声誉在我的答案中发布图片,但我将标题区域的照片上传到 imgur,您可以在此处看到 http://imgur.com/vWBm6dD。确保告诉您的 PEGA 开发人员选择“Constant”作为 Map From,并将令牌放在“Map From Key”字段中的引号中,就像我在图片中所做的那样。

      很遗憾,无法记录完整的传出数据包。如果将活动 Rule-Connect-REST.pyInvokeRESTConnector 的日志记录级别设置为 DEBUG,它会在连接过程中记录更多信息,包括完整的传出 URL,但不包括标头。对于您的 PEGA 开发人员,要更改此活动的日志记录级别,请转到主菜单(单击 DesignerStudio)-> 系统 -> 工具 -> 日志 -> 日志记录级别设置。将记录器名称设置为“Rule_Obj_Activity.pyInvokeRESTConnector.Rule_Connect_REST.Action”,并将级别设置为 DEBUG。

      如果这还不足以解决问题,您的 PEGA 开发人员可以选择添加自己的日志记录。 PEGA 中的连接器规则被调用而不是组装,创建数据包并调用远程服务的代码在该活动的步骤 5 中,即 pyInvokeRESTConnector。该活动可以像任何其他活动一样进行私人签出,因此您可以添加自己的自定义日志记录,以确保在那里正确设置所有内容。但是,我强烈建议他们不要在应用程序规则集中覆盖该活动。私人签出是临时的,所以它们很好,但覆盖是永久性的,如果他们决定升级到另一个版本的 PRPC,也会覆盖所有未来的更新。

      【讨论】:

      • 嗨,迈克,感谢您的意见。我相信我的 PEGA 开发人员确实按照您的说明添加了标头参数,但 PEGA 收到了来自我的应用程序的“401 - 未经授权”响应。这意味着,他们能够访问我的服务器,但不能对自己进行身份验证。这就是为什么我想知道他们的请求数据包是如何构建的。让我和我的 PEGA 开发人员分享一下。
      • 是的,对不起,我帮不上什么忙,这真的是我在 PEGA 内部的技巧。我不确定您对系统有多少控制权,但您可以让 PEGA 开发人员临时将端点更改为您可以控制的地方,以便检查传入数据包的内容。
      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 2016-11-08
      • 1970-01-01
      • 2010-09-21
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      相关资源
      最近更新 更多