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

2020-08-20 02:50发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个标准的API代理服务器,...

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

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

一周热门 更多>