使用HTTP Header参数从PEGA 7使用REST服务

时间:2014-06-29 03:25:08

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

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

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

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

使用任何REST测试工具,例如Chrome的REST控制台,APIgee等,我只需将http-header参数传递为[param name:Authorization&参数价值:OAuth]。

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

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

  • PEGA难以在http调用中添加标题参数
  • 根据要求,当开发人员试图从PEGA测试我的服务时,PEGA屏幕与我共享。在此期间,我注意到PEGA没有任何痕迹记录 捕获生成的确切http请求。是不是我们看不到从REST连接器工具生成的http请求(标题/正文)?

2 个答案:

答案 0 :(得分:0)

添加标头参数相对简单。要从PEGA中的REST API获取信息,请定义Connect-REST规则。可悲的是,我没有足够的声誉在我的回答中发布图像,但我上传了一个标题区域的照片,你可以在这里看到http://imgur.com/vWBm6dD。确保告诉您的PEGA开发人员选择" Constant" as 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,也会覆盖所有未来的更新。

答案 1 :(得分:0)

您可以使用工具提琴手查看Pega的具体信息,以便调用您的服务。

对于OAuth身份验证,请确保将Pega身份验证配置文件设置为OAuth并正确提取令牌。

Fiddler会帮助你了解最新情况。