首页 新闻 会员 周边 捐助

C#调用java的webservice,服务器端报错NullPointerException

0
悬赏园豆:100 [已解决问题] 解决于 2014-10-10 11:38

做了个windows服务,使用C#调用java的webservice,局域网本地环境测试正常,服务器安装运行后出现如下错误:

System.Web.Services.Protocols.SoapException: java.lang.NullPointerException
在System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response,
Stream responseStream, Boolean asyncCall)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
在 UMService.SmsReference.SmsServiceService.sendSMS(String UserName, String Password, SmsMessages msgs)

PS:方法sendSMS参数都做过初始化

SeanYang的主页 SeanYang | 初学一级 | 园豆:114
提问于:2014-10-09 16:07
< >
分享
最佳答案
0

有几个地方未说明具体信息:

1、WebService是你开发的还是既有的?

2、服务器安装运行后出现异常:是你的服务还是你写的WebService?

 

如果WebService是自己开发的,那么在测试环境调用发布后的WebService是否正常?如果不正常,问题是你的WebService发布的问题,这个就不懂了。

 

如果服务是既有的,那就是你的WinService安装到服务器后运行出现了问题。你可以:

1、把WinService服务转成WinForm或Console项目,然后去服务器运行,是否正常?

2、如果不正常,说明是你的服务器对Soap的调用有意外,比如未安装Soap、Soap被拦截等等可能

3、如果正常,那就是你的WinService的权限、使用的资源受限导致的。

收获园豆:70
519740105 | 大侠五级 |园豆:5810 | 2014-10-09 16:35

WebService是第三方平台的,我把服务转换成控制台运行还是一样的错误

SeanYang | 园豆:114 (初学一级) | 2014-10-09 17:22

@samumu: 那就是你的服务器系统不支持或禁止了soap导致的,可以从这个方面入手分析。

519740105 | 园豆:5810 (大侠五级) | 2014-10-09 17:22
其他回答(3)
0

可以先用soapUI测试服务。

收获园豆:20
幻天芒 | 园豆:37205 (高人七级) | 2014-10-09 23:17
0

你这个是空指针异常,应该是哪里没有判断为空,直接取得数据。

收获园豆:10
唯我独萌 | 园豆:537 (小虾三级) | 2014-10-10 08:34

服务器端调用sendSMS引发错误,参数做过初始化

支持(0) 反对(0) SeanYang | 园豆:114 (初学一级) | 2014-10-10 08:57

@samumu: 数据的传输应该出问题了,数据传输类要序列化。

支持(0) 反对(0) 唯我独萌 | 园豆:537 (小虾三级) | 2014-10-10 09:00
0

找到问题了,通过比较本地和服务器端发送出去的xml数据,服务器上的日期格式为yyyy/mm/dd,本地日期格式为yyyy-mm-dd,

java服务端只能处理yyyy-mm-dd格式,所以导致在服务器上运行时报错。

SeanYang | 园豆:114 (初学一级) | 2014-10-10 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册