十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

152、RESTHTTP接口调用

152、RESTHTTP接口调用 152、RESTHTTP接口调用上星期我们后台一个定时任务突然挂掉,外部系统报错405 Method Not Allowed,我查了半天日志,发现代码里用GET去调一个需要POST的REST接口,这种低级错误其实不罕见。但真正恶心的是另一种:对方返回415 Unsupported Media Type,你检查了URL、检查了Head、检查了Body,最后发现只是Content-Type少了个; charset=utf-8。这类问题在ABAP里尤其容易踩,因为SAP的HTTP客户端封了一层又一层,稍不注意就给你弄个默认值。今天这篇笔记,直接把ABAP调REST/HTTP接口的常用姿势掰开揉碎,都基于我实际排过的生产问题。最原始的IF_HTTP_CLIENT,但真能打老项目里大量存在这种写法,尤其SAP内部系统之间,或者连着一些老旧的Java服务。别嫌它啰嗦,它最灵活,什么header都能塞,什么状态码都能拿到。创建客户端,用CL_HTTP_CLIENT=CREATE_BY_URL。这一步最常翻车的地方是URL里带特殊字符,比如公司内网地址里有个,没转义,直接报argument_not_found。所以URL先CL_HTTP_UTILITY=ESCAPE_URL或者自己处理一下,但注意别把已有的查询参数给转义坏了
返回列表