Невозможно создать экземпляр SOAP-клиента - ошибка с NullPointerException - PullRequest
0 голосов
/ 16 апреля 2019

При создании экземпляра SOAP-клиента я получаю исключение NullPointerException

@WebServiceClient(name = "QWEServiceManager", targetNamespace = "http://external.ws.services.abc.com/", wsdlLocation = "file:/C:/Users/XYZ/Desktop/77777/QWEServiceManagerService.wsdl")
public class QWEServiceManagerService extends Service

Когда я пытаюсь создать экземпляр клиента для вызова службы SOAP

QWEServiceManagerService serv = new QWEServiceManagerService()

вышеуказанные броски

Exception in thread "main" javax.xml.ws.WebServiceException: Unable to createEndpointReference Provider
    at javax.xml.ws.spi.Provider.provider(Provider.java:160)
    at javax.xml.ws.Service.<init>(Service.java:92)
    at QWEServiceManagerService.<init>(QWEServiceManagerService .java:48)
    at WsClient.main(WsClient.java:26)
Caused by: java.lang.NullPointerException
    at javax.xml.ws.spi.Provider.provider(Provider.java:152)
    ... 3 more

1 Ответ

0 голосов
/ 24 апреля 2019

Проблема заключалась в том, что Java перестала предоставлять реализацию поставщика по умолчанию выше Java 6+.

Он пытается найти Impl с помощью следующих шагов:

  • First By Service Loader
  • Из свойств JDK (из $ java.home / lib / jaxws.properties)
  • Использовать системное свойство
  • Поиск с помощью OSGi Service Loader

Таким образом, простое добавление зависимости с реализацией провайдера решает проблему.

Для меня добавление jaxws-rt зависимости решило проблему.

Примечание: я столкнулся с другой проблемой зависимости, для которой мне нужно было добавить другую зависимость stax-ex для решения всех моих проблем с зависимостями.

...