Клиент веб-службы получает исключение NullPointerException от getMyWSPort - PullRequest
4 голосов
/ 07 февраля 2012

Я создал простой веб-сервис под названием TimeServerBean. Он работает правильно, сервер GlassFish работает, и я могу получить доступ к файлу WSDL из браузера. Обратите внимание, что это делается на локальном хосте.

Затем я создал новый проект, создал клиент веб-службы и предоставил URL-адрес файла WSDL. Затем я получил несколько классов (JAX-WS). На моем клиентском классе у меня есть этот код:

public class SimpleClient {

    @WebServiceRef(wsdlLocation = "wsdl url here")
    static TimeServerBean_Service service;
    private TimeServerBean bean;

    public SimpleClient() {
         bean = service.getTimeServerBeanPort();
    }
    //methods here
}

Хотя я получаю ноль, когда звоню getTimeServerBeanPort. В течение этого времени сервер работает. Есть ли очевидная ошибка? TimeServerBean и TimeServerBean_Service являются сгенерированными классами из WSDL.

Ответы [ 2 ]

4 голосов
/ 07 февраля 2012

Два предложения:

  1. Определенно поместите ваш метод в try / catch блок

  2. Предполагая, что service само по себе равно нулю, попробуйте выполнить явное service.create() вместо использования аннотации @WebServiceRef. Вот хороший пример (Websphere, но тот же принцип):

http://www -01.ibm.com / поддержка / docview.wss? UID = swg21264135

0 голосов
/ 14 декабря 2016

Аннотация @WebServiceRef поддерживается только в определенных типах классов.Примерами являются классы реализации конечных точек JAX-WS, классы обработчиков JAX-WS, классы Enterprise JavaBeans и классы сервлетов.Эта аннотация поддерживается в тех же типах классов, что и аннотация @Resource.Полный список поддерживаемых типов классов приведен в спецификации Java Platform, Enterprise Edition (Java EE) 5.

...