API代理-使用path参数作为变量

2020-08-20 02:50发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个标准的API代理服务器,可以在其中使用GET动词调用端点。 路径后缀如下所示:

/order/58 

资源设置如下:

我遇到的问题是DefaultFaultFlow策略。 启用后,始终会触发该策略;关闭端点后,该端点将成功对我的后端服务器进行SOAP调用,并返回传递的订单ID的结果。

我怀疑这与URL的模式匹配有关。 该策略的条件字符串为:

 proxy.pathsuffix MatchesPath"/img/order/"或proxy.pathsuffix MatchesPath"/img/order//**" OR proxy.pathsuffix MatchesPath"/img/order/(**" OR proxy.pathsuffix MatchesPath"/img/order/{orderId}  " OR proxy.pathsuffix MatchesPath"/img/order/{orderId}/**" OR proxy.pathsuffix MatchesPath"/img/order/{orderId}(**" 

返回的错误并不能告诉我很多信息:

 {
     "故障":{
         " faultstring":"引发错误。错误名称:defaultRaiseFaultPolicy",
         "详细信息":{
             "错误代码":" steps.raisefault.RaiseFault"
         }
     }
 }

 

我一直在搜索有效的示例,但到目前为止,我仍然受困。 有谁知道这个问题可能是什么?

(12.1 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有一个标准的API代理服务器,可以在其中使用GET动词调用端点。 路径后缀如下所示:

/order/58 

资源设置如下:

我遇到的问题是DefaultFaultFlow策略。 启用后,始终会触发该策略;关闭端点后,该端点将成功对我的后端服务器进行SOAP调用,并返回传递的订单ID的结果。

我怀疑这与URL的模式匹配有关。 该策略的条件字符串为:

 proxy.pathsuffix MatchesPath"/img/order/"或proxy.pathsuffix MatchesPath"/img/order//**" OR proxy.pathsuffix MatchesPath"/img/order/(**" OR proxy.pathsuffix MatchesPath"/img/order/{orderId}  " OR proxy.pathsuffix MatchesPath"/img/order/{orderId}/**" OR proxy.pathsuffix MatchesPath"/img/order/{orderId}(**" 

返回的错误并不能告诉我很多信息:

 {
     "故障":{
         " faultstring":"引发错误。错误名称:defaultRaiseFaultPolicy",
         "详细信息":{
             "错误代码":" steps.raisefault.RaiseFault"
         }
     }
 }

 

我一直在搜索有效的示例,但到目前为止,我仍然受困。 有谁知道这个问题可能是什么?

(12.1 kB)
付费偷看设置
发送
2条回答
1楼 · 2020-08-20 03:21.采纳回答
我设法自己解决了。 查看代理的调试日志时,我注意到应该覆盖我的path参数的第一个条件是获取GET动词。 但是日志显示它收到了POST。因为我正在执行SOAP请求,所以我分配了一条消息,这似乎将动词从GET转换为POST。 这就可以解释为什么它没有使用匹配的路由而被丢弃到DefaultFaultFlow策略。

我将保存我的SOAP有效负载的AssignMessage策略移到了代理的PostFlow部分。 现在,正确地显示了GET动词,并且按要求触发了流动条件。 希望以后能对某人有所帮助!

当学会了学习
2楼-- · 2020-08-20 03:18

亲爱的洛根,

我很高兴您能够及时解决此问题-如果可以,对其他用户可能会有帮助 将这个答案标记为您的帖子被接受的答案,这将突出显示该答案是该问题的正确答案,并标记该答案。

致谢,
以利亚

一周热门 更多>