如何从ABAP发出HTTP" PUT或DELETE"请求?

2020-08-25 06:14发布

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

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


嗨,

我能够使用以下代码与ABAP的RESTful Web服务建立连接:

呼叫方法CL_HTTP_CLIENT => CREATE_BY_DESTINATION

导出

DESTINATION ='CONSTELLATION'

导入

客户= httpClient。

呼叫方法HTTPCLIENT-> REQUEST-> SET_HEADER_FIELD

导出

NAME ='〜request_method'

VALUE ='POST'。 "这里不适合使用'删除'或'放置'

呼叫方法HTTPCLIENT-> REQUEST-> SET_HEADER_FIELD

导出

NAME ='内容类型'

VALUE ='application/xml'。

... ...

但是,问题是,这似乎仅适用于POST和GET,而不适用于PUT或DELETE。

任何人都能够成功发出PUT或DELETE HTTP请求。 请注意,我已经尝试了HTTP 1.0和1.1,但似乎没有什么区别。

真的很感谢您的帮助!

谢谢

魏唯

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

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


嗨,

我能够使用以下代码与ABAP的RESTful Web服务建立连接:

呼叫方法CL_HTTP_CLIENT => CREATE_BY_DESTINATION

导出

DESTINATION ='CONSTELLATION'

导入

客户= httpClient。

呼叫方法HTTPCLIENT-> REQUEST-> SET_HEADER_FIELD

导出

NAME ='〜request_method'

VALUE ='POST'。 "这里不适合使用'删除'或'放置'

呼叫方法HTTPCLIENT-> REQUEST-> SET_HEADER_FIELD

导出

NAME ='内容类型'

VALUE ='application/xml'。

... ...

但是,问题是,这似乎仅适用于POST和GET,而不适用于PUT或DELETE。

任何人都能够成功发出PUT或DELETE HTTP请求。 请注意,我已经尝试了HTTP 1.0和1.1,但似乎没有什么区别。

真的很感谢您的帮助!

谢谢

魏唯

付费偷看设置
发送
4条回答
1楼 · 2020-08-25 06:29.采纳回答

我从没尝试过使用PUT或DELETE,并且我不太确定在查看接口IF_HTTP_REQUEST(在7.00系统中)时该方法是否可以工作:我看到了一个SET_METHOD方法(我将使用它代替SET_HEADER_FIELD来使用) 正在使用)。 此方法在描述 Set the method(GET,POST等)中声明-因此,此类建议不仅仅包含 get 和 post 。 但是,当我查看接口的属性时,我只会看到GET(CO_REQUEST_METHOD_GET)和POST(CO_REQUEST_METHOD_POST)的常量。

在线帮助也没有太多用处,例如 请参阅[示例程序:执行HTTP请求| http://help.sap.com/saphelp_nw04s/helpdata/en/1f/93163f9959a808e10000000a114084/frameset.htm ]。

奇怪的是,如果SAP ABAP AS通过ICF充当http服务器,则可以实现HTTP请求的处理程序,该处理程序可以接收和评估所有可能的方法。 很抱歉,没有好的答案...

SKY徐
2楼-- · 2020-08-25 06:37

嗨,

我知道帖子相当"老"。 我面临着类似的问题。 方法POST和GET有效,方法DELETE无效。 您如何修复帖子中提到的错误?

感谢您的回答,

Jakub

我是小鹏鹏啊
3楼-- · 2020-08-25 06:22

嗨,

感谢您的答复。

实际上,我发现问题出在其他地方。 修复这些错误后,"删除"和"放置"现在可以正常工作。

它们在库中没有定义为常量。 但是,如果我们只传递字符串,它们就可以正常工作。

感谢您的所有输入。

Wei-wei

木偶小白
4楼-- · 2020-08-25 06:27

你好

接口IF_REST_MESSAGE为HTTP动词提供了更多选项:)

一周热门 更多>