具有自己的 DestinationDataProvider 的 JCoIDocServer 不工作

JCoIDocServer with own DestinationDataProvider not working

我想为 JCoIDocServer 使用自己的 DestinationDataProvider。

我已经注册了我的供应商:

Environment.registerDestinationDataProvider

当我打电话给

JCoDestination destination = JCoDestinationManager.getDestination("SAP_DEST_" + connector.name + "_server");

调用了我的数据提供者。

但是当我使用时:

JCoIDocServer server = JCoIDoc.getServer("SAP_DEST_" + connector.name + "_server");

我的提供者没有被调用(我调试了它),我得到这个异常:

com.sap.conn.jco.JCoException: (106) JCO_ERROR_RESOURCE: Server SAP_DEST_TestSap_server does not exist
at com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:338)
at com.sap.conn.jco.rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:175)
at com.sap.conn.idoc.jco.JCoIDoc.getServer(JCoIDoc.java:301)
at com.sap.conn.idoc.jco.JCoIDoc$getServer.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at com.lomnido.service.SapService.$tt__startServer(SapService.groovy:84)
at com.lomnido.service.SapService$_startServer_closure2.doCall(SapService.groovy)

这里有什么问题?

这是一个简单的错误,为了获得您的服务器,您还必须首先注册服务器数据提供者..

com.sap.conn.jco.ext.Environment.registerServerDataProvider(serverDataProvider);