使用一个服务接口进行SYNC和ASYNC操作

2020-09-03 18:35发布

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

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


专家您好!

你们看到将相同的服务接口与Sync和Async消息一起使用是否遇到任何问题?

例如,今天我在下面的服务接口中带有操作simulateOrder(同步模式)。 我想创建一个新的操作,例如SimulationOrderAsync(异步模式)。

我应该为ASYNC消息创建一个新的服务接口还是只能使用一个服务接口? 最佳做法是什么?

谢谢!

question.jpg (102.0 kB)

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

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


专家您好!

你们看到将相同的服务接口与Sync和Async消息一起使用是否遇到任何问题?

例如,今天我在下面的服务接口中带有操作simulateOrder(同步模式)。 我想创建一个新的操作,例如SimulationOrderAsync(异步模式)。

我应该为ASYNC消息创建一个新的服务接口还是只能使用一个服务接口? 最佳做法是什么?

谢谢!

question.jpg (102.0 kB)
付费偷看设置
发送
2条回答
clever101
1楼 · 2020-09-03 19:17.采纳回答

Hello Bruno,
接口的服务质量取决于您在通道中使用的协议。 例如。 -如果是SOAP,则必须在发送者通道中定义QO = Best Effort,正好一次,等等。
因此,即使您使用sync和async定义操作,服务质量也将取决于所定义的值 在发送者通道中。

即使您使一个操作异步,您也可以使用SOAP to SOAP场景进行测试-如果通道将服务质量定义为尽力而为,您仍将获得响应 (因为您已定义了同步操作的响应映射)

这就是为什么,最好在具有相同模式的服务接口中定义多个操作。

谢谢

Sugata

空代码
2楼-- · 2020-09-03 19:31

关于这点,我与您同在,但是我对您的陈述感到困惑,即使您使一个操作异步-如果通道具有以下质量: 服务定义为"尽力而为",您仍然会返回响应。"

如果将操作定义为asyc,则不会显示"响应"行。 因此,您也将无法创建任何响应映射。

相反,这应该可行。 如果您的操作是同步的,并且发件人异步调用它(请阅读:发件人不在乎响应,并且已经准备好了就早已消失了),这应该可以正常工作(没有尝试过这种做法,请纠正我, 如果这是胡说八道)

编辑:

我的脖子很奇怪,我只是用同步操作和肥皂发送器检查过:如果您在发送器适配器中将QoS指定为"完全" 一次(或EOIO)并重新启动频道(如果不重新启动,缓存可能会在这里出现问题),即使其他所有内容都已同步,发送方也将获得一个空的肥皂信封。

因此 您的要求很可能只是重新使用现有的接口/操作并简单地以异步方式调用它

编辑2:

顺便说一句,我很努力地进行了第一次编辑,因为 我有"混蛋"(作为对自己的描述),而不是"脖子上的疼痛"。 有趣的是,可以使用"提交"按钮,但是随后我得到了一个HTTP 500,它没有冒泡到前端,因此它看起来像是在超时,无法更新注释。 所以带走:不要对SAP Community发誓:-D

一周热门 更多>