用于SAP FM的JCo通用处理程序注册

问题描述 投票:1回答:1

如何在SAP JCo中注册处理程序,以便它侦听所有远程启用的SAP功能模块,这些功能模块在SAP中使用“目标”参数作为JCo服务器来调用?

我知道,我们可以使用以下方法注册特定功能的处理程序:

JCoServerFunctionHandler abapcallHandler = new AbapCallHandler();
DefaultServerHandlerFactory.FunctionHandlerFactory factory = new DefaultServerHandlerFactory.FunctionHandlerFactory();
factory.registerHandler(TabFun.getString("FUNCTION_NAME"), abapcallHandler);
server.setCallHandlerFactory(factory);

但是如何创建一个通用的处理程序,该处理程序将对所有功能都可以动态工作,而不仅是使用“ registerHandler”方法显式声明的?

java sap abap jco sapjco3
1个回答
0
投票

我也在使用类似的方法来注册我的处理程序,但是在从ABAP报告中调用该函数时, 在服务器存储库中找不到“ Z_SAMPLE_ABAP_CONNECTOR_CAL”。 我正在运行独立的JCO服务器。并且RFC连接测试成功。

我的服务器代码

        server = JCoServerFactory.getServer(properties.getProperty(ServerDataProvider.JCO_PROGID));
      JCoServerFunctionHandler abapCallHandler = new AbapCallHandler();
      DefaultServerHandlerFactory.FunctionHandlerFactory factory = new
      DefaultServerHandlerFactory.FunctionHandlerFactory();
      factory.registerHandler("Z_SAMPLE_ABAP_CONNECTOR_CALL", abapCallHandler);
      server.setCallHandlerFactory(factory);

Exception:

com.sap.conn.jco.JCoException:(123)JCO_ERROR_FUNCTION_NOT_FOUND:在服务器存储库中找不到'Z_SAMPLE_ABAP_CONNECTOR_CALL'。

提前感谢。

© www.soinside.com 2019 - 2024. All rights reserved.