使用 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 件事要验证
- 连接字符串中的参数。 Gtway 服务器名称、OM comp 名称、端口号等(Username/Password 立即显示错误,但其他人会抛出一般错误或永远挂起)
- (这是 Siebel 特有的东西)确保 Java 子系统配置文件具有指向 siebel.jar 和 siebelJI_lang.jar 文件的类路径
- Siebel 服务器已启动并且 运行。
如果 LDAP 为真,则无法使用 Databeans 使用此类登录。
在我的例子中,是 1 和 2 引起了问题。顺便说一句,Comp 名称区分大小写。