Javax.xml.ws.WebServiceException: provider com.sun.xml.internal.ws.spi.ProviderImpl not found

I try to start the webservice client on jdk1.5 and it gives the following error:

javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl not found 

Any suggestion would be appreciated.

+8
source share
3 answers

Make sure that on your way you will also find a jar containing the class com.sun.xml.internal.ws.spi.ProviderImpl . I checked which flask might be needed, and here you can see the jars containing this class. Any of them can help you.

+6
source

I don’t know the exact reason why it cannot find the required class, but I think that this is some problem with (or function) the Java class loader in the Oracle database when searching for resources.

I downloaded the JAX-WS reference implementation from java.net with all its dependencies with the SYS user (with sharing permissions and public synonyms). But classes created from the WSDL service are loaded into the SCOTT user schema. And for some reason, when SCOTT starts the procedures that use the service, javax.xml.ws.spi.FactoryFinder looks for the name of the implementation in the META-INF/services/javax.xml.ws.spi.Provider resource (which has the correct value com.sun.xml.ws.spi.ProviderImpl ), but cannot find this resource, so it tries to load the provider from hard-coded ( com.sun.xml.internal.ws.spi.ProviderImpl ) and fails.

The solution for me was to upload all META-INF/services/* files from all JAX-WS RI and jar dependencies to the SCOTT schema. An alternative way would be to load all JAX-WS RI, dependencies, and the final program onto the same circuit.

+2
source

This website was very useful for ClassNotFoundExceptions:

https://findjar.com/index.x

0
source

All Articles