2017-05-30 82 views
-1

你好下面是一個示例代碼,我已經寫了:使用Java連接Databeans公司與Siebel掛起永遠

import com.siebel.data.*; 
import com.siebel.data.SiebelException; 

public class DataBeanDemo 
{ 
    private SiebelDataBean m_dataBean = null; 
    private SiebelBusObject m_busObject = null; 
    private SiebelBusComp  m_busComp = null; 

    public static void main(String[] args) 
    { 
     DataBeanDemo demo = new DataBeanDemo(); 
    } 

    public DataBeanDemo() 
    { 
     try 
     { 
     m_dataBean = new SiebelDataBean(); 

     m_dataBean.login("Siebel://devServerXYZ:7777/XYZ/ 
      ecommunication_enu", ROSADMIN, ROSADMIN, "enu"); 

     System.out.println("Connected"); 

     m_busObject = m_dataBean.getBusObject("Opportunity"); 

     m_busComp = m_busObject.getBusComp("Opportunity"); 

     m_dataBean.logoff(); 
     } 

     catch (SiebelException e) 
     { 
     System.out.println(e.getErrorMessage()); 
     } 
    } 
} 

這段代碼的執行沒有問題,但卡在m_dataBean.login()。並永不返回。

可能是什麼問題?

如果我嘗試更改連接字符串(甚至端口名稱,從7777到任何其他數字,如2320,2321),那麼我得到錯誤could not open a session in 4 attempts SBL-JCA-00200

+0

由於Java bean與對象管理器(通常位於端口2321)連接,因此任何內部問題都應該在對象管理器日誌文件中提供。你有連接企圖的相應日誌文件嗎? –

+0

它沒有生成任何日誌 –

+0

你能告訴我們你試過或懷疑過什麼嗎? –

回答

0

三件事情來驗證連接字符串

  1. 參數。 Gtway服務器名稱,OM comp名稱,端口號等(用戶名/密碼錯誤立即顯示,但其他人拋出一般錯誤或永久掛起)
  2. (這是特定於Siebel的內容)確保Java子系統配置文件具有類路徑指向siebel.jar和siebelJI_lang.jar文件
  3. Siebel服務器已啓動並正在運行。

如果LDAP爲true,則不能使用Databeans使用此類登錄。

在我的情況下,它是1 & 2,這是造成問題。順便說一句Comp名稱是區分大小寫的。

+0

現在這個問題已經解決了嗎?如果是這樣,你能更具體一些究竟是什麼導致你的問題,以及決議是什麼?如果可能,你能提供一個有效的示例代碼嗎? –

+0

代碼保持不變,但我更正了區分大小寫。對於第二點,我們需要檢查服務器配置。 通過shellscript或查看/編輯config/properties文件。 –