我有一个带有 Web 服务的 Java Web 应用程序和一个尝试使用该 Web 服务的 Java 应用程序。 Web 服务包含一个名为 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
是Web Application中定义的类,webservice
是Web Application中包含该类的包。当我尝试运行 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 服务?
最佳答案
您没有提供足够的信息。
可能是:
1) profile
为null
2) 端口
为null
3) 网络服务返回
null
对于情况(1)和(2),不放更多的代码是不容易帮助你的。
对于情况 (3),如果服务器或客户端处理出现问题,您可以使用 wireshark 查看 Web 服务返回的内容以查明具体情况。
关于尝试使用 Web 服务时出现 Java NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871594/