2012-01-15 51 views
2

我有一个Java Web应用程序,其中包含Web服务和尝试使用该Web服务的Java应用程序。 Web服务包含一个名为update的操作,我称这种操作从Java应用程序为:尝试使用Web服务时发生Java NullPointerException

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是在Web应用程序中定义的类,并且webservice是包含在Web应用程序此类的包。当我试图运行Java应用程序(与Web应用程序部署的时候)我得到以下错误:

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);

这里可能会出现什么错误,以致与Web Service的连接不成功?

+0

你有没有尝试过用soap ui调用相同的web服务? – Eugene 2012-01-15 17:20:09

+0

检查'profile'是否为空。 – 2012-01-15 18:17:30

回答

2

您无法提供足够的信息。
这可能是因为:
1)profilenull
2)portnull
3)Web服务returns

对于情况(1)和(2)这是不容易帮助您而不用放更多的代码。

对于情况(3),如果服务器或客户端处理中存在问题,可以使用wireshark查看Web服务返回的针点。

+0

wireshark帮了很多,谢谢! – nikos 2012-01-15 19:16:59

+0

感谢提醒我wireshark(飘渺)存在! – eestein 2014-07-03 11:53:46

+0

我收到以下错误,他们是类似还是完全不同的问题: '03-08-2015 12:32:00,358 SEVERE [com.sun.xml.messaging.saaj.soap.ver1_1](pool-2183- thread-1)SAAJ0304:InputStream不代表有效的SOAP 1.1消息 03-08-2015 12:32:00,537错误[stderr](pool-2183-thread-1)javax.xml.ws.soap.SOAPFaultException:org .switchyard.HandlerException:java.lang.NullPointerException' – dev 2015-08-03 10:07:38

相关问题