首页 > 其他 > 详细

2021.09.10 【ABAP随笔】-BTP-简单的iflow调用OP的OData服务

时间:2021-09-11 21:45:17      阅读:34      评论:0      收藏:0      [点我收藏+]

CPI简单调用OP本地OData服务

接着上次从SAP API Hub上参考创建的OData 服务:OData -SAP OP 中使用SAP API Hub的API

今天玩一下如何在BTP平台上来调用这个OData服务

首先我们进入到BTP平台-Integration suite

技术分享图片

点击它,进去,我们选择第一个页签,进行集成设计和开发

技术分享图片

点击右边设计按钮,如果没有包得话需要点击右上方按钮创建一个包

 技术分享图片

 

 

 技术分享图片

 

 

 输入名称和技术名称

 技术分享图片

 

 

 然后点击右上方保存按钮,然后点击部件页签,选择Integration Flow

 技术分享图片

 

 

 然后填入iFlow的名称和标识,点击确认

 技术分享图片

 

 

 如下图我们创建好了一个空白默认的iFlow,点击进入

技术分享图片

 

 

 

如下图所示,我们可以看到有发送端,集成进程和接收端,由于简单演示,我们就不需要发送端了,同时我们采用计时器来驱动事件,点击右上角编辑按钮

 

技术分享图片

删除Sender Start

技术分享图片

点击上方事件按钮,选择计时器,放置到Integration Process

技术分享图片

选择功能:运行一次  (既部署的时候运行一次),然后将Start Time 1 end 连起来

 

技术分享图片

接着选择外部调用->请求回复

 技术分享图片技术分享图片

技术分享图片

然后选择连接器技术分享图片连接Request Reply 1 Receiver

这时会弹出选择适配器类型,我们选择OData->OData V2

 

 

 技术分享图片技术分享图片

点击Connection 填上地址,这个地址就是OP OData外网暴露的地址,如果你的OPOData服务无法进行外网暴露的话,请使用cloud connector 连接到OP

技术分享图片

 

 

 技术分享图片

 

 

这里先保存下配置,对于Authentication,我们需要用OP 账号密码来登陆,所以需要先创建一个(Security Material) ,点击监控器

技术分享图片

点击安全材料这个页签,

技术分享图片

 

 

 技术分享图片

点击用户凭据:输入凭据名称(PO_OData_User),账号和密码(sap 登陆账号密码)

技术分享图片技术分享图片

点击部署,用户账号就创建好了

技术分享图片

 

 

我们返回刚才的IFlow 继续操作,选择Basic类型的权限,然后填入我们刚才创建的security material

 

 

 技术分享图片

切换到Processing页签,选择Get方法,然后选择Resource Path

 技术分享图片

 

技术分享图片

选择远程数据源,然后点击步骤2,我们可以在选择实体中选择需要的数据集

技术分享图片

同时选择所要的字段

技术分享图片

点击完成即可

我们就可以看到再Query Option中自动生成了所需的字段

 技术分享图片

接下来我们选择消息转换器->脚本->Groovy脚本, 这个脚本的目的时获取返回的消息

 技术分享图片技术分享图片

我们可以点击创建按钮,直接生成一个系统默认的Groovy脚本进行修改

技术分享图片

 

 

技术分享图片 

我们需要对其中的内容进行修改->

 

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
    //Body 
    def body = message.getBody(java.lang.String) as String;
    def messageLog = messageLogFactory.getMessageLog(message);
    def properties = message.getProperties();
    
    messageLog.setStringProperty("Logging","Printing Payload as Attachment");
    messageLog.addAttachmentAsString("[2]Payload after mapping", body , "text/xml");
    return message;
}

 

 

到此我们就完成了BTP上的所有配置了,然后点击保存->部署

技术分享图片

 

 

然后我们点击 监控器

 

 

技术分享图片

可以看到刚才触发的IFlow 已经完成

技术分享图片

点击附件中的文件,我们可以查看返回的消息

技术分享图片

 

可以看到返回的PO信息

 

 技术分享图片

 

 

 

技术分享图片

 

2021.09.10 【ABAP随笔】-BTP-简单的iflow调用OP的OData服务

原文:https://www.cnblogs.com/jxzhu/p/15253487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!