如何在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”方法显式声明的?
我也在使用类似的方法来注册我的处理程序,但是在从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'。
提前感谢。