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

2020-08-26 23:26发布

         点击此处--->   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)

         点击此处--->   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砖家
1楼 · 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

南山jay
2楼-- · 2020-08-27 00:20

我认为说东盟没有人知道CPI是不正确的概括(HCI早已过时 名称)。 我来自马来西亚,这是一个东盟国家-并没有阻止我提高CPI。 还有其他一些马来西亚人非常了解CPI,并且是SAP认证的CPI顾问。

首先,您应该查看SAP的课程CLD900。 它也可以通过学习中心在线获得,我的许多朋友已经使用了学习中心并获得了成功的认证(当然,仅参加本课程并不能自动保证您会通过考试)。

Cikesha
3楼-- · 2020-08-27 00:10

嗨Agus

我已经向您介绍了如何执行此操作此处。 我还建议您不要使用脚本步骤。 尤其是不要在不理解它们的情况下随意复制代码。

为了进行测试,我建议您在流的前面放置一个HTTPS发送者通道, 而不是计时器步骤,然后从邮递员调用它。 这样,您还可以轻松地验证标题是否正确。

如果您需要创建CPI集成以便工作,我强烈建议您首先学习CPI的基础知识。 在线上有很多资源以及书籍和课堂培训。

请本着其本意接受此建议。 我只想引导您成功使用CPI。

致谢

Morten

clever101
4楼-- · 2020-08-27 00:14

您好Agus,

请 在下面的博客中可以找到非常相似的要求,以了解更多有关获取访问令牌并进行设置的要求(由于对访问令牌感兴趣,因此请忽略第三者系统)。

https://blogs.sap.com/2017/01/24/hci-integrating-salesforce-using-hci-using-rest-api/

您需要在下面进行修改,以获取为X-AUTH-TOKEN设置的标头值。

致谢

Sriprasad Shivaram Bhat

哎,真难
5楼-- · 2020-08-27 00:05

嗨, Sriprasad Shivaram Bhat

我有以下内容 您建议在财产上创建as,但发现错误

错误详细信息

 javax.script.ScriptException:groovy.lang.MissingPropertyException:没有这样的属性:class:script1__Script的messageExchange,原因:groovy.lang.MissingPropertyException:没有这样的属性:class1的messageExchange:Script1
 

你有建议吗?

感谢您参考链接,但我的大脑无法跟随它
我已经尝试阅读了很多次,但是对我来说很难做到

亦是此间程序员
6楼-- · 2020-08-27 00:16
# p #

您好 Sriprasad Shivaram Bhat Morten Wittrock

老实说,如果我确实有机会接受培训,我会接受的!

我很沮丧,因为众所周知,在东盟,尤其是在我国,没有人知道HCI。

为了读书,我从SAP-Press购买了很多东西,两年前我学到了很多东西,但都陷入了困境

如果您在这里谈论一间教室,没有人知道HCI,即使我在其他国家的同事也不想教我,只是非常忽略我。

因此,如果您对在线课堂有参考,请给我反馈,以便我学习

因为我没有任何关于哪个在线教室很好的参考书

对不起,我感到沮丧,因为如果一切都容易达到,在这里我不会像愚蠢的人那样轻易问。

亦是此间程序员
7楼-- · 2020-08-27 00:21

你好阿格斯,

我们很高兴为您提供帮助,我们也走过了同样的道路。现在您可以开始自我探索了,这是很好的方法。 不要犹豫,在社区中发布您的问题。

干杯!

Sriprasad Bhat

一周热门 更多>