hi下面是我写过的示例代码:
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
。
3件事要验证
- 连接字符串中的参数。GTWay服务器名称,OM comp名称,端口号等
- (这是Siebel的特定内容(确保Java子系统配置文件具有指向Siebel.jar和siebelji_lang.jar files 的classPath。
- Siebel Server正在启动并运行。
如果LDAP为TRUE,则不能使用Databeans使用此类登录。
在我的情况下是1&2,这引起了问题。顺便说一句,Comp Name对案例敏感。