Java NullPointerException при попытке использовать веб-сервис - PullRequest
2 голосов
/ 15 января 2012

У меня есть веб-приложение Java с веб-службой и приложение Java, которое пытается использовать эту веб-службу. Веб-служба содержит операцию с именем update, и я вызываю эту операцию из приложения Java как:

private static Boolean update(webservice.BsInfo profile)
{
    webservice.MyWs_Service service = new webservice.MyWs_Service();
    webservice.MyWs port = service.getMyWsPort();
    return port.update(profile);
} 

Здесь BsInfo - это класс, определенный в веб-приложении, а webservice - это пакет, содержащий этот класс в веб-приложении. Когда я пытаюсь запустить приложение Java (с развернутым веб-приложением, конечно), я получаю следующую ошибку:

Exception in thread "Thread-3" javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy30.update(Unknown Source)
at Assignment1.BaseStationProfile.update(BaseStationProfile.java:70)
at Assignment1.BaseStationProfile.run(BaseStationProfile.java:23)
at java.lang.Thread.run(Thread.java:662)

, где строка 70 равна return port.update(profile);.

Что здесь может быть неправильного, если соединение с веб-службой не будет установлено?

1 Ответ

2 голосов
/ 15 января 2012

Вы не предоставили достаточно информации.
Возможно, что:
1) profile - это null
2) port - это null
3) Интернетservice returns null

Для случаев (1) и (2) нелегко помочь вам, не вводя больше кода.

Для случая (3) вы можете использовать wireshark, чтобы увидеть, что веб-сервис возвращает к точному определению, если это проблема в работе сервера или клиента.

...