2013-04-26 55 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