【发布时间】:2009-05-26 14:39:11
【问题描述】:
我有一个使用 oracle 数据库的简单 Web 服务。但是,当我在内部测试该服务时,它可以正常工作,但是,通过我的客户端(在同一台机器上但在不同的 WAR 中)调用 Web 服务会引发 invocationtargetexception。我终于发现这是实例化 OracleDriver 的问题。它根本不会抛出任何异常,所以我无法找出错误是什么。
谷歌搜索只提供了使用 oracle.jdbc.driver.OracleDriver 而不是 oracle.jdbc.OracleDriver 的解决方案,但这似乎没有解决任何问题。我正在使用的 jar 是 ojdbc14.jar,据我所知,它已正确包含在 Web 服务的类路径中......因为当我使用简单的 main 方法测试服务时它可以工作。
编辑: InvocationTargetException 由来自 Axis 服务器的 AxisFault 生成。 invocationtargetexception 是一个包装类,我尝试使用 .getCause() 提取异常的尝试总是返回 null。
我正在使用 jboss 部署服务,并将驱动程序 JAR 文件包含在库中用于源代码但不用于服务器。包含 /jboss/server/default/lib 中的驱动程序解决了它。
【问题讨论】:
-
你能发布完整的例外吗?
-
特别是什么异常导致了异常。
-
问题说它不会引发异常 - 但 InvocationTargetException 是一个明显被实例化的异常。有关异常的更多详细信息肯定会很有用 - 请参阅下面的我的回答,以了解可能没有充分了解以提供实际帮助的总体猜测。
标签: java oracle jdbc instantiation