如何解决如何使用SAP ICF将数据分块发送到外部服务?
我目前正在尝试通过NODEJS外部服务实现SAP Communication,其中SAP通过Internet Communication Framework(ICF)发送数据。
我已经能够以纯格式发送数据。但是,我有兴趣通过块发送它。 因此,我设置了这两个标头:
CALL METHOD server->response->set_header_field
EXPORTING
name = 'Transfer-Encoding'
value = 'chunked'.
CALL METHOD server->response->set_header_field
EXPORTING
name = 'Content-Type'
value = 'text/plain'.
然后按照Wikipedia所示设置响应数据: c_result ='4 \ r \ nWiki \ r \ n5 \ r \ npedia \ r \ nE \ r \ n in \ r \ n \ r \ nchunks。\ r \ n0 \ r \ n \ r \ n'。 服务器->响应-> set_cdata(c_result)。
但是,当我在GW Client中调用它时,出现错误:“ HTTP接收失败:与伙伴的连接断开”。
当我在NodeJS外部服务中调用它时,出现错误:
{ Error: Parse Error
at Socket.socketOnData (_http_client.js:442:20)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead (internal/stream_base_commons.js:94:17) bytesParsed: 945,code: 'HPE_INVALID_CHUNK_SIZE' }
能否请您帮助我确定问题出在哪里? 我有一些嫌疑犯:
- SAP ICF都不支持块
- 我没有正确设置响应
- 在SAP响应处理中,将另外修改两个响应文本。 有经验的人可以帮助您吗?
解决方法
最后我意识到,ICF使用HTTP 1.0和chunks were added in HTTP 1.1 and retired in HTTP 2.0。
请让我知道是否应该删除问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。