Java 通过套接字访问数据源时发生Weblogic错误

Java 通过套接字访问数据源时发生Weblogic错误,java,weblogic,datasource,Java,Weblogic,Datasource,当我试图通过weblogic server中创建的数据源建立连接时出错。过去是否有人遇到过此错误。数据源的getConnection方法中出现异常 java.lang.IllegalArgumentException: interface weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_informix_jdbc_IfxSqliConnect_RemoteInterface is

当我试图通过weblogic server中创建的数据源建立连接时出错。过去是否有人遇到过此错误。数据源的getConnection方法中出现异常

java.lang.IllegalArgumentException: interface weblogic.jdbc.rmi.internal.ConnectionImpl_weblogic_jdbc_wrapper_PoolConnection_com_informix_jdbc_IfxSqliConnect_RemoteInterface is not visible from class loader at java.lang.reflect.Proxy.getProxyClass(Proxy.java:337) at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:567) at weblogic.rmi.internal.ProxyStub.newInstance(ProxyStub.java:69) at weblogic.rmi.internal.OIDManager.resolveObject(OIDManager.java:242) at weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:81) at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:328) at java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1321) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1835) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1759) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:139) at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:152) at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) at weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:233) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:264) at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230) at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) at $Proxy2.getConnection(Unknown Source java.lang.IllegalArgumentException:interface weblogic.jdbc.rmi.internal.ConnectionImpl\u weblogic\u jdbc\u wrapper\u PoolConnection\u com\u informix\u jdbc\u IfxSqliConnect\u RemoteInterface在类加载器中不可见 位于java.lang.reflect.Proxy.getProxyClass(Proxy.java:337) 位于java.lang.reflect.Proxy.newProxyInstance(Proxy.java:567) 位于weblogic.rmi.internal.ProxyStub.newInstance(ProxyStub.java:69) 位于weblogic.rmi.internal.OIDManager.resolveObject(OIDManager.java:242) 位于weblogic.common.internal.ChunkedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:81) 位于weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.resolveObject(ChunkedObjectInputStream.java:328) 位于java.io.ObjectInputStream.checkResolve(ObjectInputStream.java:1321) 位于java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) 位于java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1835) 位于java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1759) 位于java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646) 位于java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) 位于java.io.ObjectInputStream.readObject(ObjectInputStream.java:322) 位于weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:139) 位于weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:152) 位于weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56) 位于weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:233) 在weblogic.rmi.cluster.replicawarerememeteref.invoke(replicawarerememeteref.java:264)中 在weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:230)上 位于weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35) 位于$Proxy2.getConnection(未知源
似乎您正在尝试通过套接字访问数据源,而不是首先查找资源的JNDI名称并在该引用上调用getConnection。

您可以通过尝试以下命令找到问题的原因:

java utils.dbping ORACLE_THIN scott tiger dbserver1:1561:demo
如果此命令返回Success!!!,您知道,从服务器到数据库的连接正常,您必须关注中间件设置。否则,将提供错误详细信息

scott = db username
tiger = db password
demo = db instance name
更多信息可在此处找到:


要执行java utils.dbping,请确保您首先执行了
setWLSEnv.sh
,以设置java局部变量。

这看起来像是您试图通过RMI直接访问数据源对象,这几乎肯定是不允许的。这是唯一的堆栈跟踪,还是您有更多的堆栈跟踪?我有一点,但无法发布到b由于数据安全性…但是我要做的是创建自己的DataSource类,该类与DataSource.getConnection方法联系。DataSource对象是通过查找weblogic连接池地址创建的