(询问)groovy脚本以获取访问令牌

2020-08-26 23:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的专家 需要您的建议 我...

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

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


亲爱的专家

需要您的建议

我想从JSON格式获取数据(令牌)。

我的设计就是这样

从http

会得到这样的数据

 {" http_code":200,"状态":"成功","代码":" SSR001","令牌":" d8049487-46e1-5729-911a-87bc9d2a0f52","到期时间":7200," expired_time"  ":" 2019-12-12 23:04:05"} 

我的脚本是

导入groovy.json。*
 导入com.sap.gateway.ip.core.customdev.util.Message
 导入groovy.json.JsonSlurper


 定义json = messageExchange.response.contentAsString
 def root = new JsonSlurper()。parseText(json)


 log.info("令牌:" + root.token)


 messageExchange.modelItem.testStep.testCase.testSuite.project.setPropertyValue(" X-AUTH-TOKEN",root.token)
 

我正在使用内容修饰符,因为我想检查脚本是否有效

并将文件放入SFTP,以便我可以进行交叉检查

但是我对此有疑问

 [CAMEL] [IFLOW] [EXCEPTION]:org.apache.camel.FailedToCreateRouteException:在以下位置创建路由Process_1失败:>>> SetHeader [X-AUTH-TOKEN,xpath {X-AUTH-TOKEN}] <<  <路线中的<:Route(Process_1)[[From [direct:Test_AccessToken_TimerEventDef ...因为java.lang.ClassNotFoundException:java.lang.string
   [CAMEL] [IFLOW] [CAUSE]:原因:org.apache.camel.RuntimeCamelException:java.lang.ClassNotFoundException:java.lang.string
     [CAMEL] [IFLOW] [CAUSE]:原因:java.lang.ClassNotFoundException:java.lang.string 

是否有任何建议或解决方案,我需要此令牌作为将数据更新到另一方的要求

请帮助

(28.5 kB)
7条回答
SAP砖家
2020-08-27 00:00 .采纳回答

您好Agus,

完全同意Morten!

我已经为您编写了这段代码,并试图了解它的确切功能。一个好的开始是创建一个新脚本,该脚本提供用于读取属性,标题,读取正文和修改正文的代码段。

导入com.sap.gateway.ip.core.customdev.util.Message;。
 导入java.util.HashMap;
 导入groovy.json。*;
 def消息processData(消息消息){
    //身体
        def正文= message.getBody(String.class);
      
        def jsonSlurper =新的JsonSlurper()
   
        def list = jsonSlurper.parseText(body)
    
        如果(list.token == null || list.token =="")
         message.setHeader(" X-AUTH-TOKEN","")
        其他
       message.setHeader(" X-AUTH-TOKEN",list.token.toString())
    
        返回消息;
 }
 

关于此,

Sriprasad Shivaram Bhat