【发布时间】:2015-01-15 02:07:53
【问题描述】:
我创建了一个客户端来连接到外部网络服务。这是通过使用 wsimport 生成工件然后在我现有的 Web 应用程序中复制 Java 类来完成的。 我的工作站上有 tomcat,这个项目在这个环境中完美地部署和运行。 但是,一旦我将其部署到 weblogic 服务器,我就会收到以下错误。 你能帮我理解这个问题及其潜在的解决方案吗?
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider weblogic.wsee.jaxws.spi.WLSProvider could not be instantiated: java.lang.ClassCastException
at java.util.ServiceLoader.fail(ServiceLoader.java:207)
at java.util.ServiceLoader.access$100(ServiceLoader.java:164)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:353)
at java.util.ServiceLoader$1.next(ServiceLoader.java:421)
at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:180)
at javax.xml.ws.spi.Provider.provider(Provider.java:140)
at javax.xml.ws.Service.<init>(Service.java:92)
提前致谢!
【问题讨论】:
-
WLSProvider类很可能在您的类路径的两个 jar 文件中找到。你需要检查你的类路径是否有重复 -
由于我的本地和服务器上的 JVM 版本不同而出现此问题。本地系统上生成的工件运行的是 JDK 1.7,而服务器运行的是 JDK 1.6。在 1.6 上生成工件后,问题得到解决。
标签: java weblogic jax-ws webclient wsimport