点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我们的方案是将文件发送到http网络服务,我们希望处理http响应,使非200响应错误,因此我们可以查看包含错误返回数据的内容。 我们似乎遇到的问题是,响应是http正文中的纯文本,而不是xml结构,因此正在努力捕获任何错误并允许200状态正常进行。
我已经设置了xml请求/响应映射,并尝试使用REST和http_aae接收器。 使用REST适配器,将映射非200响应,并使用自定义结果进行错误处理,然后通过{http_content}在日志中可以看到基于正文中某些文本和http正文内容而引发的错误。 但是,有200个响应错误,显示" Prolog中不允许内容"。 我认为这是因为来自http正文的纯文本无法映射到源响应映射MT。 因此,我尝试使用MessageTransformBean来考虑将http正文转换为简单的响应源xml,但这似乎并没有通过正文/创建xml。 我假设我不能在响应映射中使用java映射,因为http主体在传递给java之前需要处于xml结构中? 还是可以从java映射中的inputstream中提取http正文? 如果是这样,我可以寻找陷阱并引发错误,将正文内容发送给错误吗?
因此在这种情况下,对通过http正文以纯文本形式发送的http响应中的特定文本内容引发错误的最佳方法是什么,然后我们才能在日志中看到正文内容?
我们将PI 7.3升级到7.5。
非常感谢您提出任何建议。
亲切的问候
鲍勃
对于那些可能遇到同一问题的人,似乎可以解决以下问题:
-带有错误处理的休息接收器,可在非200个代码上引发自定义错误。
-在Response映射中,使用Java映射读取inputStream,检查响应中的文本,如果我们发现指示问题的文本,则抛出错误。 否则,只将流写出来,但要考虑空流。
-非200响应作为错误引发,并且响应http_text在日志中可见。 200条响应流没有任何问题。
一周热门 更多>