我们在使用CL_HTTP_CLIENT向外部api发送json数据时遇到问题。JSON数据是使用'/ui2/cl_JSON=>serialize(data=ls_body compress=abap_true pretty_name=/ui2/cl_json=>pretty_mode-camel_case('。
当将此JSON作为数据发送时,外部api返回状态400,响应为{"errorCode":"INVALID_REQUEST_BODY","message":"请求正文丢失或格式不正确。分析值时遇到意外字符:\u001f。路径",第0行,位置0。"}。
我们还在后台对这个JSON数据进行了字符串化,因为这可能是由于解析错误,但它不起作用。同样的字符串化数据试图使用ajax通过浏览器控制台发送,它确实没有任何问题。
任何人都可以告诉我们如何处理这个json对象,并使用CL_HTTP_CLIENT将其发送到外部api吗。注意:JSON字符串嵌套很深。
提前谢谢。。
您可以使用请求捕获器服务来获取SAP输出
然后检查您的输出是否具有有效的json
使用诸如poster或SoapUI之类的rest工具检查外部api。每一个没有跟踪指导的开发者可能都有外部api的局限性。
问题在于字符串中的unicode。这些都不被外部api接受,所以从字符串中删除并发送到api,它确实起了作用。
谢谢你的建议。