使用Groovy在HCI中的HTTP请求中传递参数

2020-09-18 20:31发布

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

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


尊敬的专家-

我正在研究一种情况,在这种情况下,我需要将日期计算传递给URL,以便在运行特定流时每15分钟可以获取一次数据。 我已经编写了以下代码,但执行时未获取值。 我认为是将URL声明为常量,但不确定如何使它正常工作。 请,如果能在这个问题上有什么启示,将不胜感激。 当我执行以下代码时,看到以下错误,其中日期计算通过。

错误

//<一个rel =" nofollow" hraf=" http://partners.parkhub.com/transactions?dateFromsetProperty.dateFrom=&dateTosetProperty.dateTo=&landmarkId=b8b6ab4c-3dc4-4975-96e3-3032fff55712" target =" _blank"> partners.parkhub.com/transactions?dateFromsetProperty.dateFrom=&dateTosetProperty.dateTo=&landmarkId=b8b6ab4c-3dc4-4975-96e3-3032fff55712 ,状态代码为:403

Groovy代码

导入com.sap.it.api.mapping。*;

import java.text.SimpleDateFormat;

import java.text.DateFormat;

import java.util.Locale;

import java.util.TimeZone;

导入com.sap.gateway.ip.core.customdev.util.Message; 导入java.util.HashMap; 导入java.lang。*;

{def消息processData(消息消息){def currDT = new Date(); def newDateObj =新日期(currDT.getTime()-15 * 60000); message.setHeader(" Content-Type"," application/json"); message.setHeader(" Accept"," application/json"); message.setProperty(" fromDateTimeUTC",currDT.getTime()); message.setProperty(" toDateTimeUTC",newDateObj); message.setProperty(" dateFrom",currDT.getTime()); message.setProperty(" dateTo",newDateObj); message.setProperty(" landmarkId"," b8b6ab4c-3dc4-4975-96e3-3032fff55712")

def url = https://partners.parkhub.com/transactions?dateFrom=$ {setProperty.dateFrom}&dateTo = $ {setProperty.dateTo}&landmarkId = b8b6ab4c-3dc4-4975-96e3- 3032fff55712 ; message.setProperty(" url",url);

返回消息;

}

感谢支持

致谢

HS

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

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


尊敬的专家-

我正在研究一种情况,在这种情况下,我需要将日期计算传递给URL,以便在运行特定流时每15分钟可以获取一次数据。 我已经编写了以下代码,但执行时未获取值。 我认为是将URL声明为常量,但不确定如何使它正常工作。 请,如果能在这个问题上有什么启示,将不胜感激。 当我执行以下代码时,看到以下错误,其中日期计算通过。

错误

//<一个rel =" nofollow" hraf=" http://partners.parkhub.com/transactions?dateFromsetProperty.dateFrom=&dateTosetProperty.dateTo=&landmarkId=b8b6ab4c-3dc4-4975-96e3-3032fff55712" target =" _blank"> partners.parkhub.com/transactions?dateFromsetProperty.dateFrom=&dateTosetProperty.dateTo=&landmarkId=b8b6ab4c-3dc4-4975-96e3-3032fff55712 ,状态代码为:403

Groovy代码

导入com.sap.it.api.mapping。*;

import java.text.SimpleDateFormat;

import java.text.DateFormat;

import java.util.Locale;

import java.util.TimeZone;

导入com.sap.gateway.ip.core.customdev.util.Message; 导入java.util.HashMap; 导入java.lang。*;

{def消息processData(消息消息){def currDT = new Date(); def newDateObj =新日期(currDT.getTime()-15 * 60000); message.setHeader(" Content-Type"," application/json"); message.setHeader(" Accept"," application/json"); message.setProperty(" fromDateTimeUTC",currDT.getTime()); message.setProperty(" toDateTimeUTC",newDateObj); message.setProperty(" dateFrom",currDT.getTime()); message.setProperty(" dateTo",newDateObj); message.setProperty(" landmarkId"," b8b6ab4c-3dc4-4975-96e3-3032fff55712")

def url = https://partners.parkhub.com/transactions?dateFrom=$ {setProperty.dateFrom}&dateTo = $ {setProperty.dateTo}&landmarkId = b8b6ab4c-3dc4-4975-96e3- 3032fff55712 ; message.setProperty(" url",url);

返回消息;

}

感谢支持

致谢

HS

付费偷看设置
发送
2条回答
jovirus
1楼 · 2020-09-18 21:02.采纳回答

嗨,哈里

如果您不需要集成流程中其他位置的两个日期,则无需将它们存储在属性中。 只需将它们存储在局部变量中,然后将其添加到您的URL中即可。 像这样:

 def dateFrom =...。
 def dateTo =...。

 。
 。
 。

 def url =" https://partners.parkhub.com/transactions?dateFrom=${dateFrom}&dateTo=${dateTo}&landmarkId=b8b6ab4c-3dc4-4975-96e3-3032fff55712" 

如果要做需要将日期存储在属性中,则可以按如下方式在URL中访问这些属性:

 def url =" https://partners.parkhub.com/transactions?dateFrom=${message.getProperty('dateFrom')}&dateTo=${message.getProperty('dateTo')}&landmarkId=b8b6ab4c-3dc4  -4975-96e3-3032fff55712" 

此致

Morten

lukcy2020
2楼-- · 2020-09-18 21:07

没问题。 问候,莫滕

一周热门 更多>