Поставщик oracle.j2ee.ws.client.ServiceFactoryImpl не найден - PullRequest
0 голосов
/ 19 июня 2010

Я пишу приложение, которое вызывает веб-сервис Oracle.Код клиента веб-службы был предоставлен мне.

Это приложение использует пользовательский подкласс URLClassLoader для загрузки jar-файлов во время выполнения.Запуск модульных тестов с моей локальной машины работает нормально, однако, когда я развертываю приложение на сервере и запускаю его, я получаю следующую ошибку.Другие классы / банки нормально загружаются через пользовательский ClassLoader.

Не знаете, почему это происходит?Может, FactoryFinder использует отдельный экземпляр ClassLoader?Любая помощь приветствуется.Спасибо!

    javax.xml.rpc.ServiceException: Provider oracle.j2ee.ws.client.ServiceFactoryImpl not found
      at javax.xml.rpc.FactoryFinder.newInstance(FactoryFinder.java:44)
      at javax.xml.rpc.FactoryFinder.find(FactoryFinder.java:137)
      at javax.xml.rpc.ServiceFactory.newInstance(ServiceFactory.java:69)
      at com.mycomp.myapp.oracle.client.TSClient.<init>(TSClient.java:34)
      at com.mycomp.myapp.oracle.LaborHours.update(LaborHours.java:92)
      at com.mycomp.myapp.oracle.OracleConnection.updateMetrics(OracleConnection.java:73)
      at com.mycomp.myapp.Project.crawl(Project.java:150)
      at com.mycomp.myapp.Main.main(Main.java:302)

1 Ответ

0 голосов
/ 22 июня 2010

К такому выводу я пришел.

ServiceFactory использует собственный механизм загрузки классов (который, очевидно, отличается от моего пользовательского загрузчика классов).

Мне пришлось использовать этовзломать http://forums.sun.com/thread.jspa?threadID=300557, чтобы добавить файлы jar в путь к классу загрузчика системных классов.

...