Siebel EAI: [SiebelJCAAdapterBase.invoke()] javax.resource.spi.CommException: Unable to open a conne...

本文记录了使用 JCA 连接 Siebel Server 时遇到的连接异常问题及解决方案。主要错误为无法建立连接 (SBL-JCA-00125),尝试多次后仍无法打开会话。解决方法包括检查非托管连接属性是否正确,并确保 Connect String 符合规范。

Issue:

When you try to connect to Siebel Server using JCA, you may got following exception.

Exception:

New trace 2009-12-25 15:16:24.828
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:36.125] [SiebelJCASessionManager.handleRequest()] getConnection(SiebelConnectionSpec)
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:36.125] [SiebelNoTxManagedConnectionFactory] matchManagedConnections(0 connections; CRI=SiebelConnectionRequestInfo: (null, siebel.TCPIP.None.None://192.168.1.112:2321/siebel/EAIObjMgr_enu, SADMIN, enu); Subject=主题:
私人认证 javax.resource.spi.security.PasswordCredential@17739078

[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:36.125] [SiebelNoTxManagedConnectionFactory] Subject has no PasswordCredential for this ManagedConnectionFactory
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:36.125] [SiebelNoTxManagedConnectionFactory] No connection had matching connection parameters.
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:36.125] [SiebelConnection(12035390)] Opening a new connection to Siebel ...
java.lang.Throwable
at com.siebel.integration.util.SiebelTrace$Representation.trace(SiebelTrace.java:39)
at com.siebel.integration.util.SiebelTrace.trace(SiebelTrace.java:154)
at com.siebel.integration.jca.cci.SiebelConnection.trace(SiebelConnection.java:723)
at com.siebel.integration.jca.cci.SiebelConnection.initialize(SiebelConnection.java:583)
at com.siebel.integration.jca.cci.SiebelConnection.<init>(SiebelConnection.java:129) <br> at com.siebel.integration.jca.cci.notx.SiebelNoTxConnection.<init>(SiebelNoTxConnection.java:29) <br> at com.siebel.integration.jca.spi.notx.SiebelNoTxManagedConnectionFactory.createManagedConnection(SiebelNoTxManagedConnectionFactory.java:152) <br> at com.siebel.integration.jca.spi.notx.SiebelNoTxConnectionManager.allocateConnection(SiebelNoTxConnectionManager.java:138) <br> at com.siebel.integration.jca.cci.SiebelConnectionFactory.getConnection(SiebelConnectionFactory.java:190) <br> at com.siebel.integration.sessmgr.SiebelJCASessionManager.getConnectionHandle(SiebelJCASessionManager.java:316) <br> at com.siebel.integration.sessmgr.SiebelJCASessionManager.initEncryption(SiebelJCASessionManager.java:590) <br> at com.siebel.integration.adapter.SiebelJCAAdapterBase.invoke(SiebelJCAAdapterBase.java:245) <br> at com.siebel.service.jca.accountws.AccountWSBusServAdapter.mQueryPage(AccountWSBusServAdapter.java:102) <br> at com.siebel.service.jca.accountws.AccountWSWrapper.QueryPage(AccountWSWrapper.java:106) <br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) <br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) <br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) <br> at java.lang.reflect.Method.invoke(Method.java:597) <br> at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:101) <br> at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:83) <br> at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:152) <br> at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:264) <br> at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) <br> at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604) <br> at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563) <br> at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548) <br> at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445) <br> at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:249) <br> at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:453) <br> at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:250) <br> at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140) <br> at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:298) <br> at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:211) <br> at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:297) <br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) <br> at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:87) <br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) <br> at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) <br> at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) <br> at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) <br> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) <br> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) <br> at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202) <br> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) <br> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588) <br> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) <br> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) <br> at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200) <br> at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106) <br> at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428) <br> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) <br> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) <br>[SIEBEL FATAL] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:39.218] [SiebelConnection(12035390)] Error in initialize(): Unable to open a connection to Siebel(SBL-JCA-00125) <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error><br></com.siebel.om.conmgr.conmgrexception><br>[SIEBEL ERROR] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:39.218] [SiebelJCAAdapterBase.invoke()] javax.resource.spi.CommException: Unable to open a connection to Siebel(SBL-JCA-00125) <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><font color="#ff0000"><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error></font> <br></com.siebel.om.conmgr.conmgrexception><br>[SIEBEL ERROR] Thread[[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:16:39.218] [mQueryPage] Exception : javax.resource.spi.CommException: Unable to open a connection to Siebel(SBL-JCA-00125) <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error><br></com.siebel.om.conmgr.conmgrexception><br>[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [SiebelJCASessionManager.handleRequest()] getConnection(SiebelConnectionSpec) <br><font color="#ff0000">[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [SiebelNoTxManagedConnectionFactory] matchManagedConnections(0 connections; CRI=SiebelConnectionRequestInfo: (null, siebel.TCPIP.None.None://192.168.1.112:2321/siebel/EAIObjMgr_enu, SADMIN, enu); Subject=主题:</font> <br> 私人认证 javax.resource.spi.security.PasswordCredential@17739078 </init></init>

[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [SiebelNoTxManagedConnectionFactory] Subject has no PasswordCredential for this ManagedConnectionFactory
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [SiebelNoTxManagedConnectionFactory] No connection had matching connection parameters.
[SIEBEL INFO] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [SiebelConnection(10182288)] Opening a new connection to Siebel ...
java.lang.Throwable
at com.siebel.integration.util.SiebelTrace$Representation.trace(SiebelTrace.java:39)
at com.siebel.integration.util.SiebelTrace.trace(SiebelTrace.java:154)
at com.siebel.integration.jca.cci.SiebelConnection.trace(SiebelConnection.java:723)
at com.siebel.integration.jca.cci.SiebelConnection.initialize(SiebelConnection.java:583)
at com.siebel.integration.jca.cci.SiebelConnection.<init>(SiebelConnection.java:129) <br> at com.siebel.integration.jca.cci.notx.SiebelNoTxConnection.<init>(SiebelNoTxConnection.java:29) <br> at com.siebel.integration.jca.spi.notx.SiebelNoTxManagedConnectionFactory.createManagedConnection(SiebelNoTxManagedConnectionFactory.java:152) <br> at com.siebel.integration.jca.spi.notx.SiebelNoTxConnectionManager.allocateConnection(SiebelNoTxConnectionManager.java:138) <br> at com.siebel.integration.jca.cci.SiebelConnectionFactory.getConnection(SiebelConnectionFactory.java:190) <br> at com.siebel.integration.sessmgr.SiebelJCASessionManager.getConnectionHandle(SiebelJCASessionManager.java:316) <br> at com.siebel.integration.sessmgr.SiebelJCASessionManager.initEncryption(SiebelJCASessionManager.java:590) <br> at com.siebel.integration.adapter.SiebelJCAAdapterBase.invoke(SiebelJCAAdapterBase.java:245) <br> at com.siebel.service.jca.accountws.AccountWSBusServAdapter.mQueryPage(AccountWSBusServAdapter.java:102) <br> at com.siebel.service.jca.accountws.AccountWSWrapper.QueryPage(AccountWSWrapper.java:106) <br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) <br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) <br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) <br> at java.lang.reflect.Method.invoke(Method.java:597) <br> at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:101) <br> at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:83) <br> at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:152) <br> at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:264) <br> at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) <br> at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604) <br> at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563) <br> at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548) <br> at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445) <br> at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:249) <br> at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:453) <br> at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:250) <br> at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140) <br> at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:298) <br> at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:211) <br> at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:297) <br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) <br> at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:87) <br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) <br> at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) <br> at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) <br> at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) <br> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) <br> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) <br> at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202) <br> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) <br> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588) <br> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) <br> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) <br> at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200) <br> at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106) <br> at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428) <br> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) <br> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.781] [] creating socket for listening thread: host=10.182.106.124 port=2321 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.796] [] set tx=1 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.796] [] wait=1 tx=1 <br>[SIEBEL DETAIL] Thread[Thread-45,5,Listener Threads] [2009-12-25 15:42:02.812] [] about to read to bytes: len=168 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.812] [] end loop tx=1 closed <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.843] [] creating socket for listening thread: host=10.182.106.124 port=2321 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.843] [] set tx=1 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.843] [] wait=1 tx=1 <br>[SIEBEL DETAIL] Thread[Thread-46,5,Listener Threads] [2009-12-25 15:42:02.843] [] about to read to bytes: len=168 <br>[SIEBEL DETAIL] Thread[Thread-46,5,Listener Threads] [2009-12-25 15:42:02.843] [] read some bytes: tx=1 len=168 read=168 left=0 count=1 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.875] [] end loop tx=1 isDone <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.875] [] creating socket for listening thread: host=10.182.106.124 port=2321 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.875] [] set tx=1 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.875] [] wait=1 tx=1 <br>[SIEBEL DETAIL] Thread[Thread-47,5,Listener Threads] [2009-12-25 15:42:02.890] [] about to read to bytes: len=168 <br>[SIEBEL DETAIL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.890] [] end loop tx=1 closed <br>[SIEBEL FATAL] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.890] [SiebelConnection(10182288)] Error in initialize(): Unable to open a connection to Siebel(SBL-JCA-00125) <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error><br></com.siebel.om.conmgr.conmgrexception><br><font color="#ff0000">[SIEBEL ERROR] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.890] [SiebelJCAAdapterBase.invoke()] javax.resource.spi.CommException: Unable to open a connection to Siebel(SBL-JCA-00125)</font> <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error><br></com.siebel.om.conmgr.conmgrexception><br>[SIEBEL ERROR] Thread[[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads] [2009-12-25 15:42:02.890] [mQueryPage] Exception : javax.resource.spi.CommException: Unable to open a connection to Siebel(SBL-JCA-00125) <br>Caused by: <com.siebel.om.conmgr.conmgrexception><br><error><errorcode>8716488</errorcode><errmsg>Could not open a session in 4 attempts. {1}(SBL-JCA-00200)</errmsg></error><br></com.siebel.om.conmgr.conmgrexception></init></init>

Solution:

  1. Please verify whether or not your non-managed connection properties are correct. In my case, my Enterprise Server name is not siebel. The Connect String should be observe following specfication.

The connect string is a URL containing the information needed to connect to any Siebel Server
component. It specifies both the protocol and the details of the Client Application Manager service
in the Siebel Servers to which the client connects. The generic form of the syntax for the connect
string follows:
host="siebel[.transport][.encryption][.compression]://host[:port]/
EnterpriseServer/AppObjMgr_lang" lang=”lang_code”
The following is an example of a connect string. SiebelApplication is an application instance:
SiebelApplication.Login "host=""siebel://host/EnterpriseServer/SCCObjMgr_enu""
“lang=”ENU””, "CCONWAY", "CCONWAY"
Note that the entire protocol string is optional. You can specify the transport protocol alone and
separate it from siebel with a single period:
siebel.tcpip://host/siebel/AppObjMgr_lang
However, if you specify any of the other protocols, you must use a period as a placeholder for each
protocol not specified. The following is an example:
siebel...zlib://myhost/siebel/SCCObjMgr_enu

  1. Please check if you have enabled EAI component.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值