我应该如何从abap客户端使用Odata服务?

2020-09-03 17:13发布

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

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


嗨,

实际上,我需要从ABAP客户端调用Odata服务(成功因子)。 我有网址。 我需要执行该服务并在ABAP报告中获取数据,此后,我需要进行一些映射才能获得所需的结果。

我试图创建客户端代理以便调用Web服务,但是在配置客户端代理时总是收到错误消息。

我尝试了另一种使用CL_ODL_API来执行Web服务的选项。 但是我不确定如何配置身份验证过程。 因为如果没有身份验证,我们将无法获取数据。

有人可以帮助我吗?

致谢

Rimi

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

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


嗨,

实际上,我需要从ABAP客户端调用Odata服务(成功因子)。 我有网址。 我需要执行该服务并在ABAP报告中获取数据,此后,我需要进行一些映射才能获得所需的结果。

我试图创建客户端代理以便调用Web服务,但是在配置客户端代理时总是收到错误消息。

我尝试了另一种使用CL_ODL_API来执行Web服务的选项。 但是我不确定如何配置身份验证过程。 因为如果没有身份验证,我们将无法获取数据。

有人可以帮助我吗?

致谢

Rimi

付费偷看设置
发送
6条回答
hengyuye
1楼 · 2020-09-03 17:54.采纳回答

Hello Rimi,
如果要使用CL_ODL_API,则必须遵循saphelp上有关SAP UI加载项的说明:

95年老男孩
2楼-- · 2020-09-03 18:07

Hello Rimi,

< p>不确定,我认为您需要n调试并检查为什么会得到该异常。

您是否调试了?知道它到底在哪里失败吗?

您以哪种格式获得调试 数据?XML?

关于

Ashwin

南山jay
3楼-- · 2020-09-03 18:12

你好Rimi,

U可以一次检查以下内容:


如果您具有所有必要的组件,这应该对您有帮助:

请参阅如何使用OData服务消耗和集成(OSCI)来使用OData服务

请同时参考以下内容:


这里在GW级使用了外部休息服务。

外部休息服务的完整URL是从GW方法中触发的,并且捕获了响应,因此该实习生将仅成为GW服务。

在网关中使用ABAP来使用外部RESTful Web服务


由于GW服务也通过URL和有效负载触发,因此我认为外部休息服务的消费方式如上面的博客所示,就像您可以通过提供完整的URL消费GW服务一样。


我猜应该有可能。

请尝试检查一次????

此致

Ashwin

callcenter油条
4楼-- · 2020-09-03 18:10

这种数据服务方案,无论该方案始终需要指定身份,只需要按照通信端口之间ABAP中的程序规则转换脚本,就可以正常使用 ETL记录脚本,可以让其验证一种格式,而不是需求主题。

Att。

注意

Bunny_CDM
5楼-- · 2020-09-03 17:57

请注意,OSCI主要用于从外部/其他OData服务中创建新的SAP OData服务。 因此,如果您的目标仅是消费,那么它将不符合您的要求。

我将通过创建类型为External http的RFC目标启动此过程。 您可以选择提及SSL以及那里的所有身份验证选项。 您还需要在Tcode STRUST中维护用于SSL连接的客户端证书。 使用"测试连接"选项,开始测试连接。 一旦成功,您就可以开始使用CL_REST_HTTP_CLIENT。 (使用创建的RFC目标创建实例。)

悠然的二货
6楼-- · 2020-09-03 18:18

嗨,Rimi,

您需要调用cl_http_client类方法来实现此要求。

首先,我建议您使用基本身份验证在Postman Client中执行成功因素URL,如果在那里成功,则可以直接在ABAP程序中使用它。

我正在为此请求编写出色的博客。 准备就绪后,将使您保持最新状态。

在此期间,我将要求您按照下面的链接进行操作。

https://blogs.sap.com/2016/06/21/consume-odata-service-in-abap-clhttpclient-createbydestination-http-post-method/

致谢

Ram

一周热门 更多>