【问题标题】:JAXWS Client ServiceConfigurationError on weblogicWeblogic上的JAXWS客户端ServiceConfigurationError
【发布时间】: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


【解决方案1】:

在我的例子中,导入 jaxb - api 成功了

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>...</version>
    </dependency>

【讨论】:

    【解决方案2】:

    我更改了 jaxws-api.jar 库的版本并且它工作正常。我使用的是 2.2.5,我将其更改为 2.1-1 版本,它对我有用。

    另外,在你的 EAR 的 META-INF/weblogic-application.xml 中,放

    <?xml version="1.0" encoding="UTF-8"?> <weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
    <application-param>
        <param-name>webapp.encoding.default</param-name>
        <param-value>UTF-8</param-value>
    </application-param>
    <prefer-application-packages>
        <package-name>org.springframework.*</package-name>
        <package-name>javax.jws.*</package-name>
        <package-name>javax.wsdl.*</package-name>
        <package-name>com.ctc.wstx.*</package-name>
        <package-name>javax.xml.ws.*</package-name>
        <package-name>com.sun.xml.messaging.saaj.*</package-name>
    </prefer-application-packages>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多