0
我是新开发的Business Objects 4.0 SDK。我已经想出了如何连接到服务器。通过网络上的各种示例,我也了解到我需要使用InfoStore服务来填充InfoStore对象并了解流程的细节。不过,我仍然有点困惑。如果我这样做:InfoStore服务从哪里运行?
SessionMgr sess = new SessionMgr();
EnterpriseSession enterSess = sess.Logon("username", "password", "server", "secEnterprise");
foreach (string server in enterSess.ServerNames.Cast<string>())
List<string> services = enterSess.GetServiceNames(server, CeServiceType.ceServiceAllServices).Cast<string>().ToList();
我从来没有看到InfoStore服务出现。我只是碰巧绊倒了...
EnterpriseService enterStore = enterSess.GetService("InfoStore");
InfoStore store = new InfoStore(enterStore);
...作为解决方案。
的API确实有EnterpriseSession.GetService()函数在这一行:
BusinessObjects Enterprise developers will only be concerned with the InfoStore service since this is the only service that is supported in BusinessObjects Enterprise.
所以这里的问题:什么是运行InfoStore服务?在BO服务器上搜索服务时是否存在缺少的内容?
编辑:运行所有服务器并使用InfoStore针对它们调用GetService显示SERVER_NAME.CentralManagementServer正在运行该服务。还有其他服务器也运行它,但它们返回不同的对象。
新问题:为什么中央管理服务器没有报告它正在运行InfoStore?
嗯,是的,你必须登录到CMS做任何事情。一旦你进入你可以通过ServerNames属性的单个服务器。显式选项SERVER_NAME.CentralManagementServer在您针对GetServices调用GetServices时不显示InfoStore进程正在运行。把它放到GetService中的确会返回相同的InfoStore对象。今天早上我经历了所有其他服务器,还有一些运行InfoStore的人也返回了不同的对象。我想一个更好的问题可能是为什么CMS不报告该服务? – Rakuen42 2013-04-29 14:01:28