weblogic上的JAXWS客户端ServiceConfigurationError

时间:2014-11-18 01:11:38

标签: java weblogic jax-ws webclient wsimport

我创建了一个连接外部Web服务的客户端。这是通过使用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) 

提前致谢!

2 个答案:

答案 0 :(得分:1)

在我的情况下导入jaxb - api做了伎俩

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

答案 1 :(得分:0)

我更改了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>