2017-05-30 81 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文件。 –