2013-03-03 9 views
6

gefunden Ich versuche, einen Webservice-Client auf jdk1.5 zu laufen und gibt mir die folgende Fehlermeldung:javax.xml.ws.WebServiceException: Provider com.sun.xml.internal.ws.spi.ProviderImpl nicht

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

Jeder Vorschlag wird geschätzt.

+0

Bitte geben Sie weitere Details an: welche Art von Webservice-Client. Vielleicht würde ein Code-Beitrag helfen. –

+0

der Web-Service-Client ist für das Senden von SMS (Textnachrichten) und seine nach dem Laden der Klassen nach Oracle verwendet werden soll und aus diesem Grund bin ich gezwungen, JDK 1.5 – user2079954

+0

zu verwenden Alle Vorschläge werden in der Tat geschätzt – user2079954

Antwort

6

Stellen Sie sicher, dass Sie auf Ihrem Weg auch das Glas mit der Klasse com.sun.xml.internal.ws.spi.ProviderImpl finden. Ich überprüfte, welches Gefäß möglicherweise benötigt wird und here Sie können die Gläser sehen, die die gegebene Klasse enthalten. Jeder von ihnen könnte dir helfen.

+0

fehlt, wie wir identifizieren können, welche JAR-Version mit JDK 1.5 kompatibel sein wird – user2079954

+0

In dem Link zur Verfügung gestellt gibt es auch diese Informationen: class com .sun.xml.ws.spi.ProviderImpl [1362 Byte, jvm> = 1.5] jaxws-rt-2.0EA3.jar Klasse com.sun.xml.ws.spi.ProviderImpl [4883 Byte, jvm> = 1.5] jaxws-rt-2.1EA1.jar Klasse com.sun.xml.ws.spi.ProviderImpl [9033 Byte, jvm> = 1.5] jaxws-rt-2.1.4.jar jaxws-rt-2.1.3. jar –

+0

Es war wirklich hilfreich Vielen Dank – user2079954

2

Ich weiß nicht genau Grund, warum es nicht die richtige Klasse finden kann, aber ich denke, es ist ein Problem mit (oder Funktion) Java-Klassenlader in Oracle-Datenbank, wenn es nach Ressourcen sucht.

Ich habe JAX-WS Referenzimplementierung von java.net mit all seinen Abhängigkeiten mit dem Benutzer SYS (mit den öffentlichen Zugriffsberechtigungen und öffentlichen Synonymen) geladen. Aber die Klassen von Service WSDL generiert ich in Benutzer SCOTT Schema geladen. Und aus irgendeinem Grund, wenn SCOTT Prozeduren ausführt, die Dienst verwenden, sucht javax.xml.ws.spi.FactoryFinder nach Implementierungsname in META-INF/services/javax.xml.ws.spi.Provider Ressource (die den richtigen Wert com.sun.xml.ws.spi.ProviderImpl haben) aber kann diese Ressource nicht finden, also versucht, Anbieter von hart codierten Klassenname (com.sun.xml.internal.ws.spi.ProviderImpl) und zu laden schlägt fehl.

Lösung für mich war, alle META-INF/services/* Dateien aus allen JAX-WS RI und Abhängigkeiten JAR SCOTT Schema zu laden. Alternativer Weg könnte sein, alle JAX-WS RI, Abhängigkeiten und final Programm auf das gleiche Schema zu laden.

Verwandte Themen