进入ABAP通道协作,尝试实现4种场景,它们都使用PCP协议,并借助一些非常好的帖子。前两个是作者提供的,只有所做的更改与将通道从文本转换为五氯苯酚有关。
基于ABAP推送/消息传递通道与SAPUI5演示应用,它工作得很好
下面是这两种场景的AMC通道配置(场景1的类,场景2的报告):

有了前两个工作,就试着把它们结合起来
工作正常(我从SAPUI5客户端发送消息并被GUI后端会话接收),当我删除了APC接收类之后,下面的新配置

其背后的想法是从授权程序选项卡中删除报表接收者,并将其再次替换为APC接收类,只是这次定义为“接收通过会话”,这样我就可以从发送方报告接收消息并将其转发给客户端。调用SAPUI5应用程序,按预期与APC通道打开连接,调用后端报告,消息由发件人应用程序正确发送(sy-subrc = 0,无一例外),但似乎没有任何进展,因为a)客户机中什么都没有出现,而b) (最重要的) on_message类方法中的断点未被击中(方法未调用)。
如果所有其他3种方案都正常工作,是否有什么东西我错过了/具体的一点,我应该看一看,或者我完全理解错误的事情和场景3工作“顺便”?场景4,下面的AMC配置。

发布于 2019-12-03 07:05:15
您是否将推送通道绑定到特定的APC通道?
METHOD if_apc_ws_extension~on_start.
TRY.
* bind the WebSocket connection to the AMC channel
DATA(lo_binding) = i_context->get_binding_manager( ).
lo_binding->bind_amc_message_consumer( i_application_id = ‘YAMC_TEST’
i_channel_id = ‘/ping’ ).
CATCH cx_apc_error INTO DATA(lx_apc_error).
DATA(lv_message) = lx_apc_error->get_text( ).
MESSAGE lx_apc_error->get_text( ) TYPE ‘E’.
ENDTRY.
ENDMETHOD.https://stackoverflow.com/questions/59142857
复制相似问题