【发布时间】:2017-02-01 11:23:32
【问题描述】:
我正在使用 JCo 连接器在使用 JAVA 的 SAP 系统中写入和读取 iDoc。
在“普通 JAVA”中,这可以正常工作。
server = JCoIDoc.getServer(SERVER);
server.setIDocHandlerFactory(new MyIDocHandlerFactory());
server.setTIDHandler(new MyTidHandler());
MyThrowableListener listener = new MyThrowableListener();
server.addServerErrorListener(listener);
server.addServerExceptionListener(listener);
server.setConnectionCount(1);
server.start();
现在...我想捆绑此代码并将其放入 OSGi 容器 (Karaf)。但它立即在这一行崩溃:
server = JCoIDoc.getServer(SERVER);
错误是:
com.sap.conn.jco.JCoException: (106) JCO_ERROR_RESOURCE: 服务器服务器 不存在 在 com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:338) 在 com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:175) 在 com.sap.conn.idoc.jco.JCoIDoc.getServer(JCoIDoc.java:301)
我不明白为什么会这样……我需要某种特殊配置吗?或者不可能在 OSGi 上运行它。
我知道我可以使用 camel-sap 进行连接,但我想尝试非骆驼解决方案。
【问题讨论】:
-
所有依赖都部署到Karaf了吗?
-
是的。这不是依赖问题(我认为)。使用camel-sap时必须安装依赖项。
-
您是否将 JCo 库和 IDOC 适配器打包到单独的包中?
-
是的...我使用 sap 的骆驼路线工作正常(有点)...
标签: java apache-camel osgi sap apache-karaf