2013-03-03 8 views
6

Próbuję uruchomić klienta webservices na jdk1.5 i daje mi następujący błąd:javax.xml.ws.WebServiceException: Dostawca nie com.sun.xml.internal.ws.spi.ProviderImpl znaleźć

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

Każda sugestia zostanie doceniona.

+0

Podaj więcej szczegółów: jakiego rodzaju klient usługi internetowej. Może jakiś post z kodu mógłby pomóc. –

+0

Klient usługi internetowej służy do wysyłania wiadomości SMS (sms) i ich przeznaczeniem do użycia po załadowaniu zajęć do Oracle iz tego powodu jestem zmuszony korzystać z JDK 1.5 – user2079954

+0

Wszelkie sugestie będą naprawdę mile widziane – user2079954

Odpowiedz

6

Upewnij się, że na Twojej ścieżce znajduje się również słoik zawierający klasę com.sun.xml.internal.ws.spi.ProviderImpl. Sprawdziłem, jaki słój może być potrzebny, i widzę słoiki zawierające daną klasę. Każdy z nich może ci pomóc.

+0

w jaki sposób możemy określić, która wersja słoika będzie zgodna z JDK 1.5 – user2079954

+0

W podanym linku znajdują się również następujące informacje: class com .sun.xml.ws.spi.ProviderImpl [1362 bajtów, jvm> = 1,5] jaxws-rt-2.0EA3.jar klasa com.sun.xml.ws.spi.ProviderImpl [4883 bajtów, jvm> = 1,5] jaxws-rt-2.1EA1.jar klasa com.sun.xml.ws.spi.ProviderImpl [9033 bajtów, jvm> = 1,5] jaxws-rt-2.1.4.jar jaxws-rt-2.1.3. jar –

+0

To było naprawdę pomocne Wielkie dzięki – user2079954

2

Nie mam dokładnego powodu, dlaczego nie może znaleźć odpowiedniej klasy, ale myślę, że jest jakiś problem z (lub funkcja) programu ładującego klasy Java w bazy danych Oracle, gdy szuka zasobów.

Załadowałem implementację referencyjną JAX-WS z java.net ze wszystkimi jej zależnościami z użytkownikiem SYS (z publicznymi uprawnieniami dostępu i publicznymi synonimami). Ale klasy wygenerowane z usługi WSDL I załadowane do schematu SCOTT użytkownika. I z jakiegoś powodu, gdy SCOTT uruchamia procedury korzystające z usługi, javax.xml.ws.spi.FactoryFinder szuka nazwy implementacji w zasobach META-INF/services/javax.xml.ws.spi.Provider (które mają poprawną wartość com.sun.xml.ws.spi.ProviderImpl), ale nie może znaleźć tego zasobu, więc próbuje załadować dostawcę z zakodowanej nazwy klasy (com.sun.xml.internal.ws.spi.ProviderImpl) i zawiedzie.

Rozwiązaniem dla mnie było załadowanie wszystkich plików META-INF/services/* ze wszystkich JAX-WS RI i zależności słoików do SCOTT. Alternatywnym sposobem może być załadowanie końcowego programu JAX-WS RI, zależności i do tego samego schematu.