使用 Java 数据豆连接到 Siebel 永远挂起

Connecting to Siebel using Java databeans hangs forever

你好下面是我写的示例代码:

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()。永远不会 returns.

可能是什么问题?

如果我尝试更改连接字符串(甚至端口名称,从 7777 更改为任何其他数字,如 2320、2321),则会出现错误 could not open a session in 4 attempts SBL-JCA-00200

3 件事要验证

  1. 连接字符串中的参数。 Gtway 服务器名称、OM comp 名称、端口号等(Username/Password 立即显示错误,但其他人会抛出一般错误或永远挂起)
  2. (这是 Siebel 特有的东西)确保 Java 子系统配置文件具有指向 siebel.jar 和 siebelJI_lang.jar 文件的类路径
  3. Siebel 服务器已启动并且 运行。

如果 LDAP 为真,则无法使用 Databeans 使用此类登录。

在我的例子中,是 1 和 2 引起了问题。顺便说一句,Comp 名称区分大小写。