从API代理中的SOAP有效负载中提取变量

2020-08-19 20:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在尝试从发送到我的A...

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

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


嗨,

我正在尝试从发送到我的API代理的基于SOAP XML的有效负载中提取一些变量。 从示例中,我发现显然可以通过构造如下XPath来匹配我的有效负载来实现:

/soapenv:信封/soapenv:正文/rrq:Comp/Comp/SystemName/text()

API代理设置为SOAP传递,因此我试图使用提取的变量来声明一些业务逻辑。 但是,永远不会为变量分配值:0/

如果可以从SOAP有效负载中提取变量,那么有人可以分享策略和有效负载的示例吗?

谢谢!

1条回答
绿领巾童鞋
2020-08-19 20:47 .采纳回答

嘿洛根,

是的,您可以从XML有效负载中提取变量。

我对API管理的技术细节不是很深入,但这就是它的工作方式(使用在线SAP Gateway演示系统)。

ES5系统的资源"/img/ProductSet('HT-1060')"返回的有效负载如下:

 <?xml版本=" 1.0"编码=" utf-8"?>
 
      https://sapes5.sapdevcenter.com/sap/opu/odata/iwbep/GWSAMPLE_BASIC/ProductSet('HT-1060')
      ProductSet('HT-1060')
      2020-04-29T10:02:28Z 
     
     
     
     
     
         
              HT-1060 
              PR 
             小鼠
 

在我的API管理代理中,添加了读取"类别"的" ExtractVariable"策略:

 
       响应
       
        <命名空间>
              http://schemas.microsoft.com/ado/2007/08/dataservices 
       
        
        //d:类别
        
     
   
 

请注意,您可能需要对XPath表达式以及名称空间进行一些改动。

作为一种替代方法:如果您需要对变量进行非常具体的操作,则可能需要在JavaScript策略中执行此操作。 因此,您可以从XML到JSON开始,然后使用JavaScript策略获取变量:

 var净荷= response.content.asJSON;
 var productCategory =有效负载...... 

希望这会有所帮助!

斯文

一周热门 更多>