我正在尝试在jdk1.5上运行一个webservice客户端并给我以下错误:
javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found
任何建议都将受到赞赏。
答案 0 :(得分:6)
确保在您的路径上还可以找到包含类com.sun.xml.internal.ws.spi.ProviderImpl
的jar。我查看了可能需要的jar,here你可以看到包含给定类的jar。他们中的任何一个都可以帮到你。
答案 1 :(得分:2)
我不知道为什么它找不到合适的类的确切原因但我认为它在 Oracle数据库中查找(或特征)Java类加载器时遇到了问题资源。
我从java.net加载了JAX-WS引用实现,其中包含与SYS用户的所有依赖关系(具有公共访问权限和公共同义词)。但是从服务WSDL生成的类我加载到用户SCOTT模式。由于某种原因,当SCOTT运行使用服务的过程时,javax.xml.ws.spi.FactoryFinder
确实在META-INF/services/javax.xml.ws.spi.Provider
资源(具有正确的值com.sun.xml.ws.spi.ProviderImpl
)中查找实现名称,但无法找到此资源,因此尝试从硬编码的类名(com.sun.xml.internal.ws.spi.ProviderImpl
)加载提供程序并失败。
我的解决方案是将所有JAX-WS RI和依赖jar中的所有META-INF/services/*
文件加载到SCOTT模式。替代方法可以是将所有JAX-WS RI,依赖和最终程序加载到同一模式。