2013-04-26 52 views
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?

回答

0

该文件表明它是Central Management Server

+0

嗯,是的,你必须登录到CMS做任何事情。一旦你进入你可以通过ServerNames属性的单个服务器。显式选项SERVER_NAME.CentralManagementServer在您针对GetServices调用GetServices时不显示InfoStore进程正在运行。把它放到GetService中的确会返回相同的InfoStore对象。今天早上我经历了所有其他服务器,还有一些运行InfoStore的人也返回了不同的对象。我想一个更好的问题可能是为什么CMS不报告该服务? – Rakuen42 2013-04-29 14:01:28